2010-04-23 4 views
0

j'ai écrit ce code minuscule gedit et a couru: -Entrée utilisateur en Perl - Problème avec le script en cours d'exécution dans KomodoEdit

#/usr/bin/perl 
print "Enter the radius of circle: \n"; 
$radius = <>; 
chomp $radius; 
print "radius is: $radius\n"; 
$circumference = (2*3.141592654) * $radius; 
print "Circumference of circle with radius : $radius = $circumference\n"; 

fonctionne bien en utilisant la commande line.Ran le même code sur Komodo Edit: face à un problème Je m'attends à la première ligne comme sortie: - Entrez le rayon du cercle: pendant qu'il attend sur l'écran c'est-à-dire attendre une entrée et ensuite tout se passe dans l'ordre - quelqu'un peut me dire pourquoi ça marche bien avec la ligne de commande?


sortie après avoir changé #/usr/bin/perl #/usr/bin/perl: - a aussi déclarer mon rayon de $ et mon tour de $ ----------- -----------------------------------------------

12 # same i had to enter 12 
Enter the radius of circle: 
radius is: 12 
Circumference of circle with radius : 12 = 75.398223696 
+1

corriger la première ligne d'abord, il devrait être '#/usr/bin/perl! – Space

+0

de sortie après avoir changé comme vous l'avez mentionné: - a également dû déclarer mon rayon $ et mon $ circonférence -------------------------------------- -------------------- 12 # même je devais entrer 12 entrez le rayon du cercle: rayon est: 12 Circonférence du cercle avec un rayon : 12 = 75.398223696 – rgolwalkar

+0

c'est correct, quelle est l'erreur que vous êtes fac avec Komodo edit. – Space

Répondre

0

Alors que « l'utilisation stricte » et une ligne tralala correctement orthographié sont toujours bonnes choses, ni est la cause réelle. Lorsque vous exécutez un programme interactif dans un environnement sans ligne de commande , vous devez généralement désactiver la mise en mémoire tampon d'E/S. En Perl, vous devez mettre cette ligne en haut de votre code:

$| = 1; 
0

J'ai testé votre script en utilisant Komodo edit et ça marche bien d'autres, mais en dessous de quelques corrections.

#!/usr/bin/perl -w 
use strict; 

print "Enter the radius of circle: \n"; 
my $radius = <>; 
chomp $radius; 
print "radius is: $radius\n"; 
my $circumference = (2*3.141592654) * $radius; 
print "Circumference of circle with radius : $radius = $circumference\n"; 

Sortie en Komodo

Enter the radius of circle: 
5 
radius is: 5 
Circumference of circle with radius : 5 = 31.41592654 
+0

@ Ether - oui je suis nouveau à perl et je vais garder votre avis à l'esprit merci @Octopus - Merci de vérifier Merci beaucoup à tous - ce genre d'aide donne à un débutant la confiance que quelqu'un peut aider :) – rgolwalkar

+0

C'est marrant mais ça ne marche pas à Komodo - ça marche très bien à travers la ligne de commande - il attend juste l'entrée pour une raison quelconque - que ce soit sur un réglage à Komodo. :) – rgolwalkar

Questions connexes