IF |
Si |
|---|---|
Perl |
Syntaxe
| if(exp_bool) { inst1; } |
| if(exp_bool) { inst1 } else { Inst2 }; |
Paramètres
| Nom | Description |
|---|---|
| exp_bool | Ce paramètre permet d'indiquer une expression booléen devant être vrai |
| inst1 | Ce paramètre permet d'indiquer l'instruction exécuté si la condition est vrai |
| Inst2 | Ce paramètre permet d'indiquer l'instruction exécuté si la condition est fausse |
Description
Ce mot réservé permet d'effectuer des branchements de bloc d'instruction en fonction de certaines conditions.
Remarques
- Structure de contrôle conditionnelle fondamentale : Le mot réservé if est l'une des structures de contrôle les plus utilisées en Perl. Il permet d'exécuter un ou plusieurs blocs d'instructions uniquement si une condition booléenne est vraie, facilitant ainsi la gestion de la logique décisionnelle dans le programme.
- Supporte une syntaxe compacte ou étendue : if peut s'utiliser avec des blocs { ... }, mais aussi sous forme postfixée, par exemple :
- S'accompagne de else et elsif pour couvrir plusieurs cas : On peut chaîner plusieurs tests avec elsif (équivalent de else if) et terminer par un bloc else pour capturer les cas restants. Cela permet de construire des structures conditionnelles riches et hiérarchisées, sans nécessiter de multiples blocs imbriqués.
- La condition est évaluée en contexte booléen : L'expression placée entre parenthèses est évaluée selon les règles du contexte booléen de Perl. Ainsi, les valeurs comme 0, "" (chaîne vide), undef, et les listes vides sont considérées comme fausses, tout le reste étant vrai, même la chaîne "0".
- Peut être imbriqué sans limitation : Comme dans la plupart des langages, on peut imbriquer des blocs if dans d'autres sans contrainte. Toutefois, il est souvent recommandé de garder une profondeur raisonnable pour des raisons de lisibilité et de maintenabilité du code.
- L'usage de then est invalide contrairement à d'autres langages : Contrairement à certains langages comme Pascal ou Bash, Perl n'utilise pas then après if. Seule la parenthèse suivie d'un bloc est attendue. Toute tentative d'ajouter des mots-clefs superflus peut produire des erreurs de syntaxe.
- Compatible avec des expressions logiques complexes : La condition dans if peut contenir des opérateurs logiques tels que &&, ||, !, ainsi que des parenthèses pour regrouper les sous-expressions. Cela permet de construire des conditions complexes de manière explicite et contrôlée.
- Peut être combiné avec des instructions unless pour une meilleure lisibilité : Perl propose également unless comme alternative à if (not condition), mais dans certains cas, il est plus clair d'utiliser if avec une négation explicite. Le choix dépend souvent du style du développeur et de la clarté souhaitée dans le code.
Cette forme est très idiomatique en Perl et permet d'écrire des instructions plus lisibles et concises dans des scripts simples.
Exemples
Cet exemple permet de tester une condition vrai :
on obtiendra le résultat suivant :
La condition est vraiVoici des exemples de comparaison de chaîne de caractères (notez qu'il ne faut pas utiliser le symbole égale (=) pour comparer des chaînes de caractères mais l'opérateur «eq») :
on obtiendra le résultat suivant :
Chaine eq ChaineChaineX ne Chaine
Références
La Bible Micro Application HTML & Développement Web, Stefan Munz, Wolfgang Nefzger, 2003, ISBN: 2-7429-2898-7, page 1045
Dernière mise à jour : Dimanche, le 18 octobre 2015