getc [PERL] - Perl - Programmation
Marsh Posté le 02-05-2002 à 15:52:55
essaye ceci :
while (1){
print "Do you want to quit ?(Y/N)\n";
chomp($_ = <STDIN> );
if ($_ =~ /Y/){
last;}
}
print "end\n"
[jfdsdjhfuetppo]--Message édité par Aricoh le 02-05-2002 à 15:53:18--[/jfdsdjhfuetppo]
Marsh Posté le 02-05-2002 à 14:27:18
bonjour,
Un petit souci avec la lecture sur STDIN en PERL :
Pour lire un caractere au clavier, soit je fais :
$var=getc;
soit :
read STDIN, $var, 1;
Ces 2 ecritures dans l'utilisation suivante posent probleme :
while (1){
print "Do you want to quit ?(Y/N)\n";
if (getc eq 'Y'{
last;}
}
print "end\n";
a savoir qu'une fois sur 2, le getc passe a la trappe et la boucle continue comme si le if n'existait pas. Une chute d'écran donnerait ceci :
Do you want to quit ?(Y/N)
N
Do you want to quit ?(Y/N)
Do you want to quit ?(Y/N)
N
Do you want to quit ?(Y/N)
Do you want to quit ?(Y/N)
Y
end
Pourquoi ca marche qu'une fois sur 2 ?