Perl Language
Instructions de contrôle
Recherche…
Conditionnels
Perl prend en charge de nombreux types d'instructions conditionnelles (instructions basées sur des résultats booléens). Les instructions conditionnelles les plus courantes sont if-else, sauf les instructions ternaires. given
instructions given
sont introduites comme une construction de type C à partir de langages dérivés de C et sont disponibles dans les versions Perl 5.10 et supérieures.
Déclarations If-Else
La structure de base d'une instruction if est la suivante:
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ...
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
Pour les instructions if simples, le if peut précéder ou succéder au code à exécuter.
$number = 7;
if ($number > 4) { print "$number is greater than four!"; }
# Can also be written this way
print "$number is greater than four!" if $number > 4;
Boucles
Perl prend en charge de nombreux types de constructions de boucle: for / foreach, while / do-while, et jusqu'à.
@numbers = 1..42;
for (my $i=0; $i <= $#numbers; $i++) {
print "$numbers[$i]\n";
}
#Can also be written as
foreach my $num (@numbers) {
print "$num\n";
}
La boucle while évalue le conditionnel avant d' exécuter le bloc associé. Donc, parfois, le bloc n'est jamais exécuté. Par exemple, le code suivant ne serait jamais exécuté si le descripteur $fh
fichier $fh
était le descripteur de fichier d'un fichier vide ou s'il était déjà épuisé avant le conditionnel.
while (my $line = readline $fh) {
say $line;
}
En revanche, les boucles do
/ while
et do
/ until
do
évaluer la condition après chaque exécution du bloc. Ainsi, une boucle do
/ while
ou do
/ until
est toujours exécutée au moins une fois.
my $greeting_count = 0;
do {
say "Hello";
$greeting_count++;
} until ( $greeting_count > 1)
# Hello
# Hello