perl:tests_if_until
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
perl:tests_if_until [2009/03/15 00:47] – root | perl:tests_if_until [2013/03/12 23:41] (Version actuelle) – root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Tests ====== | ||
+ | |||
====== 1. If, else, elsif ====== | ====== 1. If, else, elsif ====== | ||
La structure des tests et des expressions booléennes en Perl est une fois de plus très similaire à ce que l'on trouve en C : | La structure des tests et des expressions booléennes en Perl est une fois de plus très similaire à ce que l'on trouve en C : | ||
+ | <code perl> | ||
if ($i > 0) { | if ($i > 0) { | ||
print "$i est strictement positif\n"; | print "$i est strictement positif\n"; | ||
} | } | ||
+ | </ | ||
Comme pour les boucles, on peut également profiter de l' | Comme pour les boucles, on peut également profiter de l' | ||
+ | <code perl> | ||
print "$i est un entier strictement positif\n" | print "$i est un entier strictement positif\n" | ||
+ | </ | ||
Pour proposer une branche alternative : | Pour proposer une branche alternative : | ||
+ | <code perl> | ||
if ($i >= 0) { | if ($i >= 0) { | ||
print "$i est positif"; | print "$i est positif"; | ||
Ligne 15: | Ligne 22: | ||
print "$i est négatif"; | print "$i est négatif"; | ||
} | } | ||
+ | </ | ||
Par contre si l'on veut évaluer plusieurs branches (exclusives) en cascade, il y a le mot clé spécifique //elsif// : | Par contre si l'on veut évaluer plusieurs branches (exclusives) en cascade, il y a le mot clé spécifique //elsif// : | ||
+ | <code perl> | ||
if ($i > 0) { print "$i est strictement positif"; | if ($i > 0) { print "$i est strictement positif"; | ||
elsif ($i ====== 0) { print "$i est nul"; } | elsif ($i ====== 0) { print "$i est nul"; } | ||
else { print "$i est négatif"; | else { print "$i est négatif"; | ||
+ | </ | ||
C'est une erreur de syntaxe d' | C'est une erreur de syntaxe d' | ||
Ligne 27: | Ligne 37: | ||
Encore un emprunt du C, il doit son nom à sa spécificité: | Encore un emprunt du C, il doit son nom à sa spécificité: | ||
+ | <code perl> | ||
my $signe = ($i >= 0) ? " | my $signe = ($i >= 0) ? " | ||
+ | </ | ||
... est équivalente à cette construction : | ... est équivalente à cette construction : | ||
+ | <code perl> | ||
my $signe; | my $signe; | ||
if ($i >= 0) { $signe = " | if ($i >= 0) { $signe = " | ||
+ | </ | ||
====== 3. Expressions booléennes ====== | ====== 3. Expressions booléennes ====== | ||
Ligne 72: | Ligne 84: | ||
Exemples : | Exemples : | ||
- | ^ **Valeur scalaire** ^ **Valeur | + | ^ **Valeur scalaire** ^ **Valeur |
| undef | faux| | | undef | faux| | ||
| 0 | faux| | | 0 | faux| | ||
Ligne 107: | Ligne 119: | ||
Perl a emprunté les facilités du Shell pour effectuer des tests directement sur des fichiers, ce qui est très pratique et évite d' | Perl a emprunté les facilités du Shell pour effectuer des tests directement sur des fichiers, ce qui est très pratique et évite d' | ||
+ | <code perl> | ||
my $file = " | my $file = " | ||
die " | die " | ||
+ | </ | ||
Pour référence, | Pour référence, | ||
Ligne 146: | Ligne 160: | ||
| -A | Same for access time.| | | -A | Same for access time.| | ||
| -C | Same for inode change time (Unix, may differ for other platforms)| | | -C | Same for inode change time (Unix, may differ for other platforms)| | ||
- |
perl/tests_if_until.1237078055.txt.gz · Dernière modification : 2009/03/15 00:47 de root