regexpr

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #141601
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.

Publicité
Poster une réponse
Anonyme