#!/usr/bin/perl print "La demande sera arrêtée par la saisie de la lettre \"z\" ou \"Z\" \n"; $i=0; while () { chop($_); if (($_ eq "z") || ($_ eq "Z")) { last; } else { $i= $i + 1; print "Mot numero $i ---> $_\n"; } }
#!/usr/bin/perl print "Trouvez le mot de passe, sinon pour finir tapez quit\n"; # compteur d'essai $i=0; $secret="perl"; $mot=; chop($mot); while (($mot ne $secret) && ($mot ne "quit")) { print "Trouvez le mot de passe, ou "quit" pour finir\n"; $mot= ; chop($mot); $i++; } if ($mot eq "quit") { print "Mot de passe non trouvé, au revoir ...\n"; } else { print "Mot de passe trouve a la $i eme tentative, bienvenue !\n"; }
#!/usr/bin/perl if (defined $ARGV[0]) { $N=$ARGV[0]; print "Calcul de la somme des $N premiers entiers non nuls\n"; } else { print "Calcul de la somme des N premiers entiers non nuls : "; print "N = "; $N=; if ($N==0) { $N=10; } } for ($i=1; $i<=$N; $i++) { $s= $s+$i ; print "Somme 1+..+$i = $s\n"; }
%comptes
, dont les clés sont les noms des login des comptes et les valeurs corresponadantes sont les UID
%comptes
#!/usr/bin/perl # exercice expr6 print "Recherche des comptes commencant par : "; $nom =; chop($nom); $passwd="/etc/passwd"; open(IN, $passwd); print "--------------------------------\n"; while ($ligne= ) { chomp($ligne); $i++; if ($ligne =~ /^($nom)/) { print "Ligne numero $i ---> $ligne\n"; } }
solution 1 #!/usr/bin/perl $fichier="/etc/passwd"; print "Voici la liste des comptes d'uid supérieur à 500 du fichier $fichier\n"; open(F, $fichier); $l=0; while (<F>) { chomp(); $l++; @champs= split(/:/); ($login,$p,$uid,$gid,$nom,$home,$shell)=@champs; # print "user num $l ---> @champs\n"; if ($uid >= 500) { print "$login, $p, $uid, $gid, $nom, $home, $shell\n"; } } solution 2 #!/usr/bin/perl $fichier="/etc/passwd"; print "Voici la liste des comptes d'uid supérieur à 500 du fichier $fichier\n"; open(F, $fichier); $l=0; while (<F>) { chomp(); if (/:x:[56789]\d\d:/) { ($login,$p,$uid,$gid,$nom,$home,$shell)=split(/:/); print "$login, $uid, $gid, $nom\n"; } }
#!/usr/bin/perl $fichier="/etc/passwd"; print "Voici la liste des comptes d'uid de 500 à 519 de $fichier\n"; open(F, $fichier); $l=0; while () { chomp(); if (/:x:[5][01]\d:/) { ($login,$p,$uid,$gid,$nom,$home,$shell)=split(/:/); print "$login, $uid, $gid, $nom\n"; } } close( );