next up previous index
suivant: La commande while monter: Syntaxe et structures de précédent: Blocs de commandes   Index


Structures de contrôle

Les structures de contrôle sont :

if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
[LABEL] while (EXPR) BLOCK
[LABEL] for (EXPR; EXPR; EXPR) BLOCK
[LABEL] foreach VAR (ARRAY) BLOCK [LABEL] BLOCK continue BLOCK

Attention : contrairement au C, les accolades sont obligatoires même si les blocs ne sont composés que d'une seule commande. Ceci supprime par exemple les ambiguïtés résultant de l'imbrication de plusieurs if. Il est cependant possible d'utiliser la syntaxe vue plus haut ; les exemples suivants sont équivalents :

if (!open(FICHIER, $fichier))
   { die "Impossible d'ouvrir fichier: $!"; }

die "Impossible d'ouvrir $fichier: $!" if (!open(FICHIER, $fichier));

open(FICHIER, $fichier) or die "Impossible d'ouvrir $fichier: $!";

La dernière syntaxe est la plus utilisée dans ce cas précis, elle fait partie des idiomes de perl. N'oubliez jamais de tester la valeur de retour d'une fonction susceptible de ne pas se terminer correctement, et de toujours afficher un message d'erreur le plus précis possible (ici, l'utilisation de la variable spéciale $! permet d'afficher le message standard d'erreur UNIX indiquant la cause du problème). Ce conseil ne s'applique évidemment pas qu'à perl.



Sous-sections
next up previous index
suivant: La commande while monter: Syntaxe et structures de précédent: Blocs de commandes   Index
Olivier Aubert
1999-06-01