suivant: Valeurs de retour
monter: Utilisation : recherche
précédent: Utilisation : recherche
  Index
Pour cela, on utilise la fonction m/REGEXP/, qui
s'applique par défaut à la variable $_ . Si on désire
l'appliquer à une autre variable, la syntaxe est la suivante:
if ($var =~ m/REGEXP/) { ... }
REGEXP est l'expression régulière dont on cherche à
savoir si elle correspond à la variable $ var.
On peut faire suivre cette fonction de paramètres qui modifient le
comportement de la fonction de matching. Ces paramètres sont
formés d'au moins un caractère parmi g, i, s, m, o, x. Voici
le détail de leurs actions :
g |
recherche globale (recherche toutes les
occurences, s'il y en a plusieurs dans la chaîne traitée) |
i |
ne pas tenir compte de la casse des caractères
(case-insensitive) |
s |
traiter la chaîne comme une ligne simple
(défaut) |
m |
traiter la chaîne comme une ligne multiple |
o |
ne compiler l'expression qu'une seule fois |
x |
utiliser les expressions régulières étendues |
Pour tester si la variable $var contient la chaîne foo
mais sans faire de distinction majuscules/minuscules, on écrira :
if ($var =~ m/foo/i) { ... }
Le premier m de l'expression m/REGEXP/ peut être omis si
le délimiteur de l'expression est un / (slash, ou barre
oblique). L'utilisation du m permet d'utiliser n'importe quel
caractère comme délimiteur, ce qui évite, lorsqu'il s'agit de
construire une expression contenant des /, de précéder chaque
/ d'un . Par exemple :
if ($var =~ m#^/etc#) { ... }
Les expressions régulières peuvent contenir des variables qui seront
interpolées à chaque appel à l'expression. Ce comportement est utile,
et intuitif, dans certaines situations mais est pénalisant du point de
vue de la rapidité d'exécution. Si l'on est certain que la variable ne
changera pas au cours du script, on peut ajouter le
modificateur o. Mais attention, si on oublie que l'on a mis ce
modificateur et que l'on modifie quand même la variable, ce changement
ne sera pas pris en compte dans l'expression régulière.
suivant: Valeurs de retour
monter: Utilisation : recherche
précédent: Utilisation : recherche
  Index
Olivier Aubert
1999-06-01
|