Les opérateurs sont des symboles qui permettent de manipuler des variables cestàdire deffectuer des opérations de les évaluer...
On distingue plusieurs types dopérateurs :
Les opérateurs de calcul.
Les opérateurs dassignation.
Les opérateurs dincrémentation.
Les opérateurs de comparaison de scalaires.
Les opérateurs de comparaison de chaînes.
Les opérateurs logiques.
Les opérateurs bitàbit.
Les opérateurs de rotation de bit.
Les opérateurs de calcul permettent de modifier mathématiquement la valeur dune variable.
Opérateur | Dénomination | Effet | Exemple | Résultat (Avec $x valant 7) |
+ | Opérateur daddition | Ajoute deux valeurs | $x+3 | 10 |
| Opérateur de soustraction | Soustrait deux valeurs | $x3 | 4 |
* | Opérateur de multiplication | Multiplie deux valeurs | $x*3 | 21 |
/ | Opérateur de division | Divise deux valeurs | $x/3 | 2.3333333 |
= | Opérateur daffectation | Affecte une valeur à une variable | $x=3 | Met la valeur 3 dans la variable $x |
Ces opérateurs permettent de simplifier des opérations telles que ajouter une valeur dans une variable et stocker le résultat dans la variable. Une telle opération sécrirait habituellement de la façon suivante par exemple : $x=$x+2.
Avec les opérateurs dassignation il est possible décrire cette opération sous la forme suivante : $x+=2.
Ainsi si la valeur de $x était 7 avant opération elle sera de 9 après...
Les autres opérateurs du même type sont les suivants :
Opérateur | Effet |
+= | Additionne deux valeurs et stocke le résultat dans la variable (À gauche) |
= | Soustrait deux valeurs et stocke le résultat dans la variable |
*= | Multiplie deux valeurs et stocke le résultat dans la variable |
/= | Divise deux valeurs et stocke le résultat dans la variable |
Ce type dopérateur permet de facilement augmenter ou diminuer une variable dune unité. Ces opérateurs sont très utiles pour des structures telles que des boucles qui ont besoin dun compteur (Variable qui augmente de un en un).
Un opérateur de type $x++ permet de remplacer des notations lourdes telles que $x=$x+1 ou bien $x+=1.
Opérateur | Dénomination | Effet | Syntaxe | Résultat (Avec $x valant 7) |
++ | Incrémentation | Augmente dune unité la variable | $x++ | 8 |
| Décrémentation | Diminue dune unité la variable | $x | 6 |
Opérateur | Dénomination | Effet | Exemple | Résultat |
== | Opérateur dégalité | Compare deux valeurs et vérifie leur égalité | $x==3 | Retourne 1 si $x est égal à 3 sinon 0 |
‹ | Opérateur dinfériorité stricte | Vérifie quune variable est strictement inférieure à une valeur | $x‹3 | Retourne 1 si $x est inférieur à 3 sinon 0 |
‹= | Opérateur dinfériorité | Vérifie quune variable est inférieure ou égale à une valeur | $x‹=3 | Retourne 1 si $x est inférieur ou égal à 3 sinon 0 |
› | Opérateur de supériorité stricte | Vérifie quune variable est strictement supérieure à une valeur | $x›3 | Retourne 1 si $x est supérieur à 3 sinon 0 |
›= | Opérateur de supériorité | Vérifie quune variable est supérieure ou égale à une valeur | $x›=3 | Retourne 1 si $x est supérieur ou égal à 3 sinon 0 |
!= | Opérateur de différence | Vérifie quune variable est différente dune valeur | $x!=3 | Retourne 1 si $x est différent de 3 sinon 0 |
Étant donné que Perl est un langage spécialisé dans la manipulation de chaînes de caractères il est normal quil possède des opérateurs dédiés à ce type de données.
Opérateur | Dénomination | Effet | Exemple | Résultat |
. | Opérateur de concaténation | Met deux chaînes bout à bout | $x."Bonjour" | Ajoute la chaîne "Bonjour" à $x |
eq | Opérateur dégalité | Compare deux chaînes et vérifie que leur contenu est le même | $x eq "Bonjour" | Retourne 1 si $x contient la chaîne "Bonjour" sinon 0 |
lt | Opérateur dinfériorité stricte | Vérifie quune chaîne est strictement inférieure à une autre cestàdire quelle est située avant dans lordre alphabétique | $x lt "Bonjour" | Retourne 1 si $x est inférieur à "Bonjour" sinon 0 |
le | Opérateur dinfériorité | Vérifie quune chaîne est inférieure ou égale à une autre cestàdire quelle est située avant dans lordre alphabétique | $x le "Bonjour" | Retourne 1 si $x est inférieur ou égal à "Bonjour" sinon 0 |
gt | Opérateur de supériorité stricte | Vérifie quune chaîne est strictement supérieure à une autre cestàdire quelle est située après dans lordre alphabétique | $x gt "Bonjour" | Retourne 1 si $x est supérieur à "Bonjour" sinon 0 |
ge | Opérateur de supériorité | Vérifie quune chaîne est supérieure ou égale à une autre cestàdire quelle est située après dans lordre alphabétique | $x ge "Bonjour" | Retourne 1 si $x est supérieur ou égal à "Bonjour" sinon 0 |
ne | Opérateur de différence | Vérifie quune chaîne est différente dune autre | $x ne "Bonjour" | Retourne 1 si $x est différent de "Bonjour" sinon 0 |
Ce type dopérateur permet de vérifier si plusieurs conditions sont vraies :
Opérateur | Dénomination | Effet | Syntaxe |
¦¦ | OU logique | Vérifie quune des conditions est réalisée | ((condition1)¦¦(condition2)) |
&& | ET logique | Vérifie que toutes les conditions sont réalisées | ((condition1)&&(condition2)) |
! | NON logique | Inverse létat dune variable booléenne (Retourne la valeur 1 si la variable vaut 0 0 si elle vaut 1) | (!condition) |
Ce type dopérateur traite ses opérandes comme des données binaires plutôt que des données décimales hexadécimales ou octales. Ces opérateurs traitent ces données selon leur représentation binaire mais retournent des valeurs numériques standards dans leur format dorigine.
Les opérateurs suivants effectuent des opérations bitàbit cestàdire avec des bits de même poids.
Opérateur | Dénomination | Effet | Exemple | Résultat |
& | ET bitàbit | Retourne 1 si les deux bits de même poids sont à 1 | 9 & 12 (1001 & 1100) |
8 (1000) |
¦ | OU bitàbit | Retourne 1 si lun ou lautre des deux bits de même poids est à 1 (Ou les deux) | 9 ¦ 12 (1001 ¦ 1100) |
13 (1101) |
| OU exclusif bitàbit | Retourne 1 si lun des deux bits de même poids est à 1 (Mais pas les deux) | 9 12 (1001 1100) |
5 (0101) |
Ce type dopérateur traite ses opérandes comme des données binaires dune longueur de 32 bits plutôt que des données décimales hexadécimales ou octales. Ces opérateurs traitent ces données selon leur représentation binaire mais retournent des valeurs numériques standards dans leur format dorigine.
Les opérateurs suivants effectuent des rotation sur les bits cestàdire quils décalent chacun des bits dun nombre de bits vers la gauche ou vers la droite. La première opérande désigne la donnée sur laquelle on va faire le décalage la seconde désigne le nombre de bits duquel elle va être décalée.
Opérateur | Dénomination | Effet | Exemple | Résultat |
‹‹ | Rotation à gauche | Décale les bits vers la gauche (Multiplie par 2 à chaque décalage). Les zéros qui sortent à gauche sont perdus tandis que des zéros sont insérés à droite | 6 ‹‹ 1 (110 ‹‹ 1) |
12 (1100) |
›› | Rotation à droite avec conservation du signe | Décale les bits vers la droite (Divise par 2 à chaque décalage). Les zéros qui sortent à droite sont perdus tandis que le bit nonnul de poids plus fort est recopié à gauche | 6 ›› 1 (0110 ›› 1) |
3 (0011) |
››› | Rotation à droite avec remplissage de zéros | Décale les bits vers la droite (Divise par 2 à chaque décalage). Les zéros qui sortent à droite sont perdus tandis que des zéros sont insérés à gauche | 6 ››› 1 (0110 ››› 1) |
3 (0011) |
Lorsque lon associe plusieurs opérateurs il faut que le compilateur sache dans quel ordre les traiter voici donc dans lordre décroissant les priorités de tous les opérateurs :
Priorité des opérateur | ||||||||||||
++++++++++++ | () | [] | ||||||||||
+++++++++++ | | ++ | ! | | | |||||||
++++++++++ | * | / | % | |||||||||
+++++++++ | + | | ||||||||||
++++++++ | ‹ | ‹= | ›= | › | ||||||||
+++++++ | == | != | ||||||||||
++++++ | | |||||||||||
+++++ | ¦ | |||||||||||
++++ | && | ¦¦ | ||||||||||
+++ | ? | : | ||||||||||
++ | = | += | = | *= | /= | %= | ‹‹= | ››= | ›››= | &= | = | ¦= |
+ | |
Ce document intitulé « Perl Les opérateurs » issu de Comment Ça Marche (http://www.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier modifier des copies de cette page dans les conditions fixées par la licence tant que cette note apparaît clairement.