Voici un script illustrant l'usage de ces opérateurs :
$scalaire = "Ils ne sont pas dans leur assiette.";
$appar = $scalaire =~ m/Ils/;
$subst = $scalaire =~ s/Ils/Elles/;
$transl = $scalaire =~ tr/s/z/;
print ("\$scalaire = $scalaire\n");
print ("\$appar = $appar\n");
print ("\$subst = $subst\n");
print ("\$transl = $transl\n");
print ("Il y a \"danz\" dans \"$scalaire\" \n") if $scalaire =~
m/danz/;
print ("Il n\'y a pas \"dans\" dans \"$scalaire\" \n") if $scalaire
!~ m/dans/;
Les PATTERNS
Les PATTERNS sont des chaînes de caractères contenant des méta-caractères. Les méta-caractères sont des symboles qui regroupent un ensemble définis de caractères. On parlera aussi de méta-parenthèses et de méta-séquences.
Ci-dessous, se trouve mentionnée une liste de méta-caractères, de méta-paranthèses et de méta-séquences (attention cette liste n'est pas exhaustive).
Méta-caractère |
Description |
| ^ | Ce méta-caractère apparie le début
d'une chaîne de caractères, ou d'une ligne
si l'option \m est utilisée. |
| $ | Ce méta-caractère apparie la fin d'une
chaîne de caractères, ou d'une ligne si
l'optin \m est utilisée. |
| . | Ce méta-caractère apparie n'importe quel
caractère à moins que l'option \s soit
utilisée. |
| | | Ce méta-caractère, appelé alternative,
permet un appariement si une sur deux
alternatives ou moins est réalisée. Par exemple m/"a"|"bl"/ sera correct si $_ contient "a" ou "bl". |
| * | Ce méta-caractère indique que la séquence
de caractères à gauche doit être
appariée zéro ou plusieurs fois. |
| ? | Ce méta-caractère indique que la séquence
de caractères à gauche doit être
appariée une ou 0 fois. |
| + | Ce méta-caractère indique que la séquence
de caractères à gauche doit être
appariée une fois au moins. |
Méta-parenthèse |
Description |
| [] | Ces parenthèses permettent de déterminer
une classe de caractères.
Par exemple m/[a-z]/ sera correct si $_ contient une lettre minuscule. |
| {m,n} | Ces parenthèses indiquent le nombre de fois que
ce qui se trouve à gauche
devrait être apparié. {n}indique que l'appariement doit être effectué exactement
n fois pour que
{n,} indique que l'appariement doit être effectué au moins n fois. {n,m} indique que l'appariement doit être effectué entre n et m fois. |
Méta-séquence |
Description |
| \ | Ce caractère rend littérale l'interprétation du caractère suivant. |
| \a | Alarme. |
| \A | Le début d'une chaîne de caractère. |
| \d | Equivaut à [0-9]. |
| \D | Equivaut à tout les caractères à l'exception de [0-9]. |
| \cn | Tout caractère de contrôle. |
| \L | Change tout les caractères suivants en minuscules jusqu'au caractère \E. |
| \U | Change tout les caractères suivants en majuscules jusqu'au caractère \E. |
| \Q | Rend littérale l'interprétation de tout les caractères suivants jusqu'au caractère \E. |
| \s | Equivaut à [\t \n]. |
| \t | Une tabulation horizontale. |
| \v | Une tabulation verticale. |
| \w | Apparie un caractère alphanumérique ou _ ce qui équivaut à [a..zA..Z0..9]. |
| \W | Apparie tout les caractères à l'exception des caractères alphanumériques. |
| \xnn | Tout nombre hexadécimal. |
Exemples d'utilisation :
$_ = 'c:/rep/sous_rep/fich.txt';
m/.*/;
print $&;
Notons l'utilisation du caractère spécial $&.
$_ = "AAdA GHGHG BBB";
m/\w/;
print $&;
$_ = "AAdA GHGHG BBB";
m/\w+/;
print $&;