Expression reguliere dans une variable... - Perl - Programmation
Marsh Posté le 16-02-2006 à 15:24:24
alors je sens que ça va pas t'aider des masses comme réponse mais:
C'est quoi l'interêt?????
Doit y en avoir un pour que tu poses la question mais la je vois pas!
sinon ( en attendant que pospos arrive avec la solution magique) tu peux toujours faire ça:
Code :
|
Marsh Posté le 16-02-2006 à 17:03:44
bon ben la solution est pas magique, mais elle existe.
par contre elle marche seulement à moitié
$expr = qr/toto/; (avec d'envtuels modifiers genre i)
$line =~ $expr
ca ca marche par contre pour du s/// faut faire ca:
$expr = qr/toto/;
$line =~ s/$expr/blabla/g;
pas le choix...
l'interet du qr// c'est essentielement de compiler la regexp (un peu comme le modifier o, mais en plus souple) pour gagner en vitesse (et meme avec le s/// on gagne tout de meme en vitesse en utilisant une regexp compilée dans la partie gauche)
uen possibilité pour automatiser ca c'est d'utiliser une hash:
my $replace = {
toto => "blabla",
epita => "ecole de bourge",
epitech => "ecole de merde"
};
my $expr = join('|', keys %$replace);
$expr = qr/($expr)/;
$line =~ s/$expr/$replace->{$1}/ge;
Marsh Posté le 16-02-2006 à 21:40:12
Reply
Marsh Posté le 16-02-2006 à 15:12:35
question toute bete mais je n'ai pas reussi a trouver de reponse :
comment rendre ceci possible :
j'ai demande a gougueule mais il n'a pas ete tres cooperatif.