enigme de \n en perl

enigme de \n en perl - Perl - Programmation

Marsh Posté le 31-05-2010 à 16:17:40    

Bonjour à tous,
 
J'ai un problème avec mon script que j'ai résolu avec un \n après chaque print, mais impossible de comprendre pourquoi?
Si quelqu'un résout cette énigme je le remercie d'avance.
Mon problème est que lorsque je ne mets pas de "\n" après chaque print, le programme ne rentre pas dans les if pour m'afficher les messages d'erreur, exemple je rentre un password de 4 caractères, le même 2 fois de suite, le programme retourne directement au while et me redemande de retaper le password, la si je tape un password a 6 caractère il m'affiche le message dans le cas ou je n'ai pas entrer un password supérieur a 5 caractère et m'affiche également le message ou le password est OK.
En rajoutant les \n après chaque print, tout fonctionne correctement.
 
Quelqu'un a une explication à ca? merci d'avance
 
 
#!/usr/bin/perl -w
#-w
 
use POSIX qw(strftime);
use Term::ANSIColor;
use Term::ANSIColor qw (:constants);
use Term::ReadPassword;
system ("clear" );
 
$passcompare="false";
                while($passcompare eq "false" ){
                $password=read_password('Type your_password (6 characters at less):');
                $password2=read_password('Retype your password:');
                $passLength= length($password2);
 
                                if($password eq $password2){
                                                 if ( $passLength>5){
                                                $passcompare="true";
                                                print "pass OK";
                                                                       }
                                        else{
                                                print("Your password must contain at less 6 characters" );
                                                                      }
                                }
                                else{
                             
                                        print ("The two entered passwords are differents, try again..." );
                                 
                                }
                }

Reply

Marsh Posté le 31-05-2010 à 16:17:40   

Reply

Sujets relatifs:

Leave a Replay

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