Perl : Recherche chaine de caractére
Résolu
titexe2009
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j -
lami20j -
Bonjour,
Est ce que quelqu'un peut m'expliquer ce bout de code ?
if ($resp =~ m~$left(.*?)$right~s) {
$result{$_} = $1;
}
car cette partie marche toujours dans mon code , sauf dans le cas ou $left est égale a une chaine de caractère qui contient $.
Exemple : $left = test$test
Merci d'avance,
cordialement
titexe
Est ce que quelqu'un peut m'expliquer ce bout de code ?
if ($resp =~ m~$left(.*?)$right~s) {
$result{$_} = $1;
}
car cette partie marche toujours dans mon code , sauf dans le cas ou $left est égale a une chaine de caractère qui contient $.
Exemple : $left = test$test
Merci d'avance,
cordialement
titexe
A voir également:
- Perl : Recherche chaine de caractére
- Denon perl pro test - Accueil - Audio
- Active perl - Télécharger - Édition & Programmation
- DzSoft Perl Editor - Télécharger - Édition & Programmation
- Comment lire un fichier .pl perl ? - Forum Windows
- Perl: transformer un fichier en package ✓ - Forum Perl
1 réponse
Salut,
Je pourrai de donner une explication de la regex, mais ça te servira à quoi si tu ne montres pas un exemple concret pour qu'on puisse comprendre ce que le code est censé faire. Et puisqu'on parle de code il faut afficher un peu plus que ça.
Voilà l'algo, mais je ne sais pas à quoi te serviras
Je pourrai de donner une explication de la regex, mais ça te servira à quoi si tu ne montres pas un exemple concret pour qu'on puisse comprendre ce que le code est censé faire. Et puisqu'on parle de code il faut afficher un peu plus que ça.
Voilà l'algo, mais je ne sais pas à quoi te serviras
if #si ( $resp =~ # la variable corresponds au motif m # l'opérateur match ~ # le séparateur de regex $left # variable interpolée dans regex (.*?) # $1 -> capture de n'importe quel caractère # zéro fois, une fois ou n'importe combien de fois #mais en evitant la gourmandise de * $right # une autre variable interpolée ~ # séparateur regex s # modificateur de regex # Permet de traiter une chaîne comme une seule ligne. # Le caractère . reconnaît alors n'importe quel caractère, # même une fin de ligne \n, qui normalement n'est pas reconnue. ) { # Alors $result{$_} = $1; # on affecte $1 (la capture de regex) comme valeur pour clé $_ de hash %result }