Les opérateurs sont le fondement même du traitement des opérations mathématique et comparatif de n'importe quel langage, le Perl ne fait pas exception.
Les opérateurs de comparaison numérique
| Opérateur | Description |
|---|---|
| == | Comparaison d'un égalité |
| != | Comparaison d'une différence |
| > | Comparaison de plus grand que |
| >= | Comparaison de plus grand ou égal que |
| < | Comparaison de plus petit que |
| <= | Comparaison de plus petit ou égal que |
Les opérateurs de calcul
| Opérateur | Description |
|---|---|
| + | Effectue une addition |
| - | Effectue une soustraction |
| * | Effectue une multiplication |
| ** | Effectue une puissance |
| / | Effectue une division réel |
| % | Effectue le reste d'une division (modulo) |
| += | Affectation de l'entier par une addition |
| -= | Affectation de l'entier par une soustraction |
| *= | Affectation de l'entier par une multiplication |
| **= | Affectation de l'entier par une puissance |
| /= | Affectation de l'entier par une division |
| <<= | Affectation de l'entier par un décalage à gauche |
| >>= | Affectation de l'entier par un décalage à droite |
| %= | Affectation de l'entier par un reste d'une division (modulo) |
| &= | Affectation de l'entier par un «Et binaire» |
| |= | Affectation de l'entier par un «Ou binaire» |
| ^= | Affectation de l'entier par un «Ou exclusif binaire» |
Les opérateurs booléens
| Opérateur | Description |
|---|---|
| && | Effectue un «Et logique» |
| ! | Effectue une négation |
| || | Effectue un «Ou logique» |
Les opérateurs binaires
| Opérateur | Description |
|---|---|
| & | Effectue un «Et binaire» |
| | | Effectue un «Ou binaire» |
| ~ | Effectue une négation |
| << | Effectue une décalage de bit vers la gauche (augmente le nombre) |
| >> | Effectue une décalage de bit vers la droite (diminue le nombre) |
| ^ | Effectue un «Ou exclusif binaire» |
Les opérateurs de test de fichier
| Opérateur | Description | ||
|---|---|---|---|
| -A operande | Cet opérateur permet de demander l'âge de l'accès du fichier spécifié quand le programme démarre. | ||
| -b operande | Cet opérateur permet de tester si le bloc de périphérique spécifié existe. | ||
| -B operande | Cet opérateur permet de vérifier si l'opérande spécifié est un fichier binaire. | ||
| -d operande | Cet opérateur permet de vérifier si l'opérande spécifié est un répertoire. | ||
| -e fichier | Cet opérateur permet de tester si le fichier spécifié existe. | ||
| -f operande | Cet opérateur permet de vérifier si l'opérande spécifié est un fichier. | ||
| -g operande | Cet opérateur permet de vérifier si l'opérande spécifié à l'ensemble de ses bits fixé par setgid. | ||
| -k operande | Cet opérateur permet de vérifier si l'opérande spécifié à l'ensemble de ses bits fixé par sticky. | ||
| -l operande | Cet opérateur permet de vérifier si l'opérande est un lien symbolique. | ||
| -M operande | Cet opérateur permet de demander l'âge de l'opérande en jours quand le programme démarre. | ||
| -o operande | Cet opérateur permet de vérifier si le propriétaire est le uid effectif. | ||
| -O operande | Cet opérateur permet de vérifier si le propriétaire est le uid/gid en lecture. | ||
| -p operande | Cet opérateur permet de vérifier si l'opérande est un tuyau. | ||
| -r operande | Cet opérateur permet de vérifier si l'opérande supporte la lecture. | ||
| -R operande | Cet opérateur permet de vérifier si l'opérande supporte la lecture avec uid/gid. | ||
| -s operande | Cet opérateur permet de demander la taille de l'opérande en octets. | ||
| -S operande | Cet opérateur permet de vérifier si l'opérande est un socket. | ||
| -t operande | Cet opérateur permet de vérifier si l'opérande est ouvert en tty. | ||
| -T operande | Cet opérateur permet de vérifier si l'opérande est un fichier texte. | ||
| -u operande | Cet opérateur permet de vérifier si l'opérande spécifié à l'ensemble de ses bits fixé par setuid. | ||
| -w operande | Cet opérateur permet de vérifier si l'opérande spécifié peut être écrit. | ||
| -W operande | Cet opérateur permet de vérifier si l'opérande spécifié peut être écrit avec uid/gid. | ||
| -x operande | Cet opérateur permet de vérifier si l'opérande spécifié peut être exécuté. | ||
| -X operande | Cet opérateur permet de vérifier si l'opérande spécifié peut être exécuté par des vrai uid/gid. | ||
| -z operande | Cet opérateur permet de vérifier si l'opérande spécifié est de taille zéro. | ||
Les opérateurs de chaine de caractères
| Opérateur | Description | ||
|---|---|---|---|
| chaine1 . chaine2 | Effectue la concaténation de chaine de caractères | ||
| chaine =~ regex | Effectue l'application d'une expression régulière (regex). | ||
| chaine !~ regex | Effectue la négation de l'application d'une expression régulière (regex). | ||
| chaine1 eq chaine2 | Comparaison d'un égalité | ||
| chaine1 ne chaine2 | Comparaison d'une différence | ||
| chaine1 gt chaine2 | Comparaison de plus grand que | ||
| chaine1 ge chaine2 | Comparaison de plus grand ou égal que | ||
| chaine1 lt chaine2 | Comparaison de plus petit que | ||
| chaine1 le chaine2 | Comparaison de plus petit ou égal que | ||
| chaine x nombre | Effectue la duplication d'une chaine de caractères. Par exemple si vous tapez «' ' x 30», il retournera 30 espaces. | ||
| m/recherche/attribut | Cet opérateur permet d'effectuer une recherche de chaine de caractères avec des critères de recherche. Voici les paramètres : | ||
| Paramètre | Description | ||
| recherche | Ce paramètre permet d'indiquer une chaine de caractères sans guillemet à recherche. | ||
| attribut | Ce paramètre permet d'indiquer des attributs seul ou combiner sans guillemet : | ||
| Attribut | Description | ||
| c | Cet attribut permet d'indiquer qu'il ne pas réinitialiser la position quand on utilise l'attribut «/g». | ||
| g | Cet attribut permet d'indiquer qu'il faut effectuer une recherche dans toutes les sous-chaines de caractères | ||
| i | Cet attribut permet d'indiquer qu'il n'y a aucune distinction entre les majuscules et minuscules | ||
| m | Cet attribut permet d'indiquer qu'il faut effectuer le traitement de chaine de caractères sur de multiples lignes | ||
| o | Cet attribut permet d'indiquer qu'il faut compiler la palette une seule fois | ||
| s | Cet attribut permet d'indiquer qu'il faut effectuer le traitement de chaine de caractères sur une seule ligne | ||
| x | Cet attribut permet d'indiquer qu'il faut effectuer le traitement étendu des expressions régulières | ||
| qr/recherche/attribut | Cet opérateur permet de conserver les «regex» dans une variable ou d'en passer une. | ||
| Paramètre | Description | ||
| recherche | Ce paramètre permet d'indiquer une chaine de caractères sans guillemet à recherche. N.B. Il ne peut pas s'agir d'une variable | ||
| attribut | Ce paramètre permet d'indiquer des attributs seul ou combiner sans guillemet : | ||
| Attribut | Description | ||
| i | Cet attribut permet d'indiquer qu'il n'y a aucune distinction entre les majuscules et minuscules | ||
| m | Cet attribut permet d'indiquer qu'il faut effectuer le traitement de chaine de caractères sur de multiples lignes | ||
| o | Cet attribut permet d'indiquer qu'il faut compiler la palette une seule fois | ||
| s | Cet attribut permet d'indiquer qu'il faut effectuer le traitement de chaine de caractères sur une seule ligne | ||
| x | Cet attribut permet d'indiquer qu'il faut effectuer le traitement étendu des expressions régulières | ||
| qw/chaine | Cet opérateur permet de retourner une liste de sous-chaine de caractères, avec un espace comme séparateur, selon les paramètres suivants : | ||
| Paramètre | Description | ||
| chaine | Ce paramètre permet d'indiquer une chaine de caractères sans guillemet avec des espaces comme séparateur à découper | ||
| s/recherche/remplacement/attribut | Cet opérateur permet d'effectuer une recherche et remplacement selon les paramètres suivants : | ||
| Paramètre | Description | ||
| recherche | Ce paramètre permet d'indiquer une chaine de caractères sans guillemet à recherche. N.B. Il ne peut pas s'agir d'une variable | ||
| remplacement | Ce paramètre permet d'indiquer une chaine de caractères sans guillemet à remplacer. N.B. Il ne peut pas s'agir d'une variable | ||
| attribut | Ce paramètre permet d'indiquer des attributs seul ou combiner sans guillemet : | ||
| Attribut | Description | ||
| e | Cet attribut permet d'indiquer qu'il faut évaluer le côté gauche de l'expression | ||
| g | Cet attribut permet d'indiquer qu'il faut effectuer un remplacement de tous les sous-chaine de caractères | ||
| i | Cet attribut permet d'indiquer qu'il n'y a aucune distinction entre les majuscules et minuscules | ||
| m | Cet attribut permet d'indiquer qu'il faut effectuer le traitement de chaine de caractères sur de multiples lignes | ||
| o | Cet attribut permet d'indiquer qu'il faut compiler la palette une seule fois | ||
| s | Cet attribut permet d'indiquer qu'il faut effectuer le traitement de chaine de caractères sur une seule ligne | ||
| x | Cet attribut permet d'indiquer qu'il faut effectuer le traitement étendu des expressions régulières | ||
Exemple
Voici un exemple montrant une utilisation de ces opérandes :
- #!/usr/bin/perl
-
- use strict;
- use constant false => 0;
-
- my $a = 1;
- my $b = 2;
- my $c = 3;
- my $c_ = -3;
- my $S = 'Gladir' . ".com";
- my $Source;
-
- print "false == 0 : ";
- if((false?1:0) == 0) {
- print "égale\n";
- } else {
- print "pas égale\n";
- }
- print "1 + 1 : " . int(1 + 1) . "\n";
- print "a - b : " . int($a - $b) . "\n";
- print "a * b * 20 : " . int($a * $b * 20) . "\n";
- print "2 ^ 4 : " . 2 ** 4 . "\n";
- print $S. "\n";
-
- $Source = "Bonjour M. Maltais, comment allez-vous ?";
- $Source =~ s/(M\.)/Monsieur/g;
-
- print $Source;
on obtiendra le résultat suivant :
false == 0 : égale1 + 1 : 2
a - b : -1
a * b * 20 : 40
2 ^ 4 : 16
Gladir.com
Bonjour Monsieur Maltais, comment allez-vous ?
Voir également
Mathématique - Algèbre de Boole - Table de vérité
Dernière mise à jour : Samedi, le 16 août 2014