tester la valeur d'une variable saisi

tester la valeur d'une variable saisi - Perl - Programmation

Marsh Posté le 25-10-2006 à 10:59:16    

salut,
 
Je fait un script qui demande à une personne de saisir la valeur de certaine variable pour alimenter un fichier par la suite.
un message apparait en demandant a la personne de saisir la valeur de la variable
si la personne saisi une valeur alors c'est cette valeur qu'on va recuperer dans le fichier
par contre si la personne tape directement entrée alors on recupere l'ancienne valeur qui est stocké dans $valeur1;
le probleme est que si je tape une valeur alors il l'affiche bien dans mon fichier par contre si je ne tape rien,au lieu de recuperer l'ancienne valeur , il ne m'affiche rien dans mon fichier;
je ne comprend pas ??
voila le script

Code :
  1. print "saisir la valeur (".$_[0]." )" ;
  2. $_[0] = <stdin>;
  3. if (! ($_[0]))
  4. {
  5. $_[0] = $valeur1;
  6. }


 
merci

Reply

Marsh Posté le 25-10-2006 à 10:59:16   

Reply

Marsh Posté le 25-10-2006 à 11:16:10    

Je commencerais par faire un petit chomp sur la saisie histoire de bien avoir une variable vide si rien n'est saisi.
Ensuite ton test n'est pas tout à fait , par exemple si la personne saisit 0 alors on rentre dans le if.  
Du coup je ferais plutot quelque chose dans le genre:

Code :
  1. chomp($_[0] = <stdin> );
  2. if (length($_[0])==0 ) {
  3. ...
  4. }

Reply

Marsh Posté le 25-10-2006 à 13:39:44    

exact j'ai fait sa
mais en rajoutant -1
((length($_[0])-1)==0 )
je vois qu'en faite si j'ai bien compris tu met chomp et tu peux tester directement == 0

Reply

Marsh Posté le 25-10-2006 à 14:06:06    

http://perldoc.perl.org/functions/chomp.html
du coup tu n'as plus le caractère \n qui correspond à "aucune saisie"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed