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:45] – édition externe 127.0.0.1 | 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 39: | Ligne 51: | ||
| ===== Opérateurs de comparaison ===== | ===== Opérateurs de comparaison ===== | ||
| - | ^ **Numérique**^ | + | ^ **Numérique** ^ **Chaîne** |
| - | | **Chaîne** | + | |
| - | | **Description**| | + | |
| | < | lt | strictement inférieur| | | < | lt | strictement inférieur| | ||
| | <= | le | inférieur ou égal| | | <= | le | inférieur ou égal| | ||
| | > | gt | strictement supérieur| | | > | gt | strictement supérieur| | ||
| | >= | ge | supérieur ou égal| | | >= | ge | supérieur ou égal| | ||
| - | | ====== | eq | identique| | + | | == | eq | identique| |
| | != | ne | différent| | | != | ne | différent| | ||
| | <=> | cmp | comparaison (pour le tri)| | | <=> | cmp | comparaison (pour le tri)| | ||
| Ligne 53: | Ligne 63: | ||
| Quelques exemples illustrant la différence entre les deux contextes : | Quelques exemples illustrant la différence entre les deux contextes : | ||
| - | ^ **Numérique**^ | + | ^ **Numérique** ^ **Chaîne** |
| - | | **Chaîne** | + | |
| | " | | " | ||
| | " | | " | ||
| Ligne 75: | Ligne 84: | ||
| Exemples : | Exemples : | ||
| - | ^ **Valeur scalaire** ^ **Valeur | + | ^ **Valeur scalaire** ^ **Valeur |
| | undef | faux| | | undef | faux| | ||
| | 0 | faux| | | 0 | faux| | ||
| Ligne 110: | 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 149: | 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.1237077949.txt.gz · Dernière modification : (modification externe)
