tfe Homepage

01/02/2006

Perl rox, c est tout

Perl roX: substitution multiples :)

<PtitKev> $first=array("a", "b"); <PtitKev> $second=array("c", "d"); <PtitKev> $result=replace($first,$second,"abcd"); <ciel[busy]> ouais <ciel[busy]> et e§a remplace quoi par "abcd" ? <PtitKev> bha <PtitKev> nan en php <PtitKev> ca remplace le a par c et le b par d <tfe|aw> %h = ("a"=>"c", "b" => "d" ); <tfe|aw> $var =~ s/((??{join("|",keys %h)}))/$h{$1}/g;'

UPDATE: J'ai remarque que cela ne marchait pas pour des expressions complexes. voila donc une modification:

$var ="abcd"; %h = ("a"=>"c", "b" => "d" ); $var =~ s/((??{join("|",map {"(?:$_)"} keys %h)}))/$h{$1}/g; print "VAR $var ";