[Perl] Problème regexp en Perl
Paul Gaborit
paul.gaborit at gmail.com
Mer 20 Sep 07:53:53 CEST 2017
Le 19/09/2017 à 19:08, Dominique Asselineau a écrit :
> Voici un exemple simple qui me pose
> problème.
>
>
> my $text = "+abcd";
> if( $text =~ m/\+/ ) {
> $text =~ s/$&//;
> }
> print( $text.$/ );
>
>
> Bien évidemment il serait facile d'écrire la chose autrement mais ici
> c'est un ECM comme on dit et dans mon cas la regexp est évidemment
> plus complexe.
>
> Comment faire en sorte que le contenu de $& soit pris comme tel et non comme une regexp ?
Il est possible d'utiliser \Q (puis \E). Petit extrait de 'perlre':
\Q quote (disable) pattern metacharacters until \E
Ce qui donne:
my $text = "+abcd";
if( $text =~ m/\+/ ) {
$text =~ s/\Q$&\E//;
}
print( $text.$/ );
--
Paul Gaborit
Plus d'informations sur la liste de diffusion Perl