Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

regexpr

1 réponse
Avatar
kurtz le pirate
bonjour,

juste pour le fun :

j'ai :
$x =~ s/jpg/jpeg/;
$x =~ s/tif/tiff/;

j'ai testé que $x =~ s/jpg|tif/jpeg|tiff/ ne fonctionne pas, normal.

pas d'astuces pour faire ça d'un seul coup ?


--
klp

1 réponse

Avatar
Nicolas George
kurtz le pirate wrote in message
:
j'ai testé que $x =~ s/jpg|tif/jpeg|tiff/ ne fonctionne pas, normal.

pas d'astuces pour faire ça d'un seul coup ?


my %r = (
jpg => "jpeg",
tif => "tiff",
);

s/(jpg|tif)/$r{$1}/;

On peut même écrire

my $r = join("|", map { quotemeta } keys %r);
$r = qr{$r};

Et utiliser $r comme expression de remplacement.