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