Programmation Perl/Opérateurs

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche
Programmation Perl
Programmation Perl
Sommaire




Modifier ce modèle


Opérateurs numériques[modifier | modifier le wikicode]

Perl reprend tous les opérateurs classiques (+, -, *, /, %, sin, cos) et les étend. Il y a des raccourcis utiles à connaître pour l'affectation, comme ++, --, +=, -=, *=, %= Il existe également l'opérateur exponentiel **.

exemples[modifier | modifier le wikicode]

1 my $a = 1 ;
2 $a--;                   # $a vaut 0 ; est équivalent à "$a = $a - 1;"
3 $a = $a + 2;    # $a vaut 2 ; est équivalent à "$a += 2;"
4 $a *= 2;                # $a vaut 4 ; est équivalent à "$a = $a * 2;"
5 $a -= 10;               # $a vaut -6 ; est équivalent à "$a = $a - 10;"
6 $a++;                   # $a vaut -5 ; etc.

Il faut être attentif aux opérations avec ++ et -- . $b = $a++ affecte à $b la valeur de $a **avant** son incrémentation. $b = ++$a affecte à $b la valeur de $a **après** son incrémentation.

Opérateurs de chaînes[modifier | modifier le wikicode]

Les opérateurs les plus basiques qui travaillent sur des chaînes sont :

  • . : concaténation
  • length : connaître la taille d'une chaîne
  • chop : retire le dernier caractère d'une chaîne
  • chomp : comme chop mais seulement si le dernier caractère est un retour à la ligne
  • split : permet de couper une chaîne suivant un motif
  • join : regroupe les éléments d'une liste, avec une chaîne entre tous les éléments
  • reverse : inverse les éléments d'une liste (le premier devient le dernier et inversement)
  • substr : prend une partie de la chaîne
  • index : cherche l'indice de la première occurrence d'une chaîne dans une autre
  • rindex : inverse de la fonction index, cherche la dernière occurrence

exemples[modifier | modifier le wikicode]

1 my $str = "coucoux";
2 say length( $str ), " ", index( $str, "uc" ); # affiche "7 2"
3 chop $str;      # supprime la lettre 'x'
4 say $str;       # affichera "coucou"
5 my @tableau_de_caracteres = split("", $str); # contient la liste des lettres restantes
6 say join(" | ", @tableau_de_caracteres);         # affiche  c | o | u | c | o | u

explications[modifier | modifier le wikicode]

2 say length( $str ), " ", index( $str, "uc" );

Ici, nous appellons la fonction say pour qu'elle affiche la taille de la chaîne de caractères $str (7), un espace (" ") et l'index de la première occurrence de "uc" (2). Nous verrons plus tard comment se passent les passages de paramètres et retours de fonctions.

5 my @tableau_de_caracteres = split("", $str);

La fonction split permet de séparer une chaîne de caractères suivant un motif, ici la chaîne vide : "". Ceci a pour conséquence de séparer toutes les lettres.

6 say join(" | ", @tableau_de_caracteres);

Nous affichons le retour de la fonction join qui renvoie tous les éléments de @tableau_de_caracteres séparés par la chaîne " | ". Elle affiche donc "c | o | u | c | o | u".