Section courante

A propos

Section administrative du site

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 :

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use constant false => 0;
  5.  
  6. my $a = 1;
  7. my $b = 2;
  8. my $c = 3;
  9. my $c_ = -3;
  10. my $S = 'Gladir' . ".com";
  11. my $Source;
  12.  
  13. print "false == 0 : ";
  14. if((false?1:0) == 0) {
  15.  print "égale\n";
  16. } else {
  17.  print "pas égale\n";
  18. }
  19. print "1 + 1 : " . int(1 + 1) . "\n";
  20. print "a - b : " . int($a - $b) . "\n";
  21. print "a * b * 20 : " . int($a * $b * 20) . "\n";
  22. print "2 ^ 4 : " . 2 ** 4 . "\n";
  23. print $S. "\n";
  24.  
  25. $Source = "Bonjour M. Maltais, comment allez-vous ?";
  26. $Source =~ s/(M\.)/Monsieur/g;
  27.  
  28. print $Source;

on obtiendra le résultat suivant :

false == 0 : égale
1 + 1 : 2
a - b : -1
a * b * 20 : 40
2 ^ 4 : 16
Gladir.com
Bonjour Monsieur Maltais, comment allez-vous ?

Voir également

Articles - Table de vérité

Dernière mise à jour : Samedi, le 16 août 2014