Perl Expressions et syntaxe générale

Perl

Expressions

Comparaisons de chiffres operateurs habituels : >, >=, <, <=, ==,!= Attention : = est une affectation, == est une comparaison de chaines gt, ge, lt, le, eq, ne Attention! Ne pas confondre la comparaison de chaines et d’entiers ’b’ == ’a’ ⇒ evalué comme ´etant vrai! il faut ecrire : ’b’ eq ’a’ ⇒ evalué faux bien-suˆr
Comparaisons de bool´eens Mˆeme si le type bool´een n’existe pas en tant que tel, des op´erateurs existent : || (ou inclusif), && (et), ! (n´egation) (! 2 < 1) ⇒ vrai (1 < 2) && (2 < 3) ⇒ vrai ($a < 2) || ($a == 2) ´equivaut `a ($a <= 2) (!$a &&!$b) ´equivaut `a !($a || $b) (r`egle de Morgan!) Remarque : depuis Perl 5 une notation plus agr´eable existe : or (au lieu de ||), and (au lieu de &&), not (au lieu de !) if (not ($tropCher or $tropMur)) print « J’achete! »;

Syntaxe générale

Les commentaires commencent par un #. Tout le reste de la ligne est consid´er´e comme un commentaire. Un bloc est un ensemble d’instructions entour´ees par des crochets ({}), chaque instruction etant suivie d’un point-virgule.

Expressions conditionnelles

si if ($prix{’datte’} > 20) { print ’Les dattes sont un peu ch`eres…’; print ’Achetons plut^ot des cerises’; }
if ($fruit eq ’fraise’) { print ’parfait !’; } else { print ’Bof !’; print ’Je prefere sans pepin’; }
Thierry Lecroq (Univ. Rouen) Perl 27 / 105
si if (($fruit eq ’cerise’) or ($fruit eq ’fraise’)) { print ’rouge’; } elsif ($fruit eq ’banane’) { print ’jaune’; } elsif ($fruit eq ’kiwi’) { print ’vert’; } else { print ’je ne sais pas…’; }
Thierry Lecroq (Univ. Rouen) Perl 28 / 105
university-logo

Remarque : il existe une autre notation : commande if (condition); print ’Quand nous chanterons…’ if ($fruit eq ’cerise’); Condition invers´ee : unless (condition) { bloc }; Ou, selon la notation alternative : commande unless (condition); print ’Avec du sucre SVP…’ unless ($fruit eq ’fraise’);
Thierry Lecroq (Univ. Rouen)

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *