Bonjour,

Voilà, je développe un outil en perl actuellement, et j'ai besoin d'extraire des caractères d'une variable que j'ai placé dans une regexp.

J'illustre directement, ce sera plus clair.

my $req = 'select machin from truc where machin = $1';

my $separateur = "\$";

my $variable = "toto";

$1 n'est pas une variable, mais le séparateur suivi du chiffre "1".

Le séparateur est destiné à être remplacé par la variable par la suite, qui contient elle une chaine de caractère. J'ai mis "toto" pour l'exemple.

J'ai alors la regexp suivante :
$req =~ s/\Q$sep/$var/;

print "reqfinal = $req\n"; # select code from client where code = toto1
Ceci permet donc de remplacer mon séparateur par la variable.

Mais ce que j'aimerais également faire, c'est extraire le "1" dans une variable que je puisse utiliser par la suite, et également faire en sorte de n'avoir pour que :
# select code from client where code = toto
dans mon résultat, sans le "1" donc.

Merci pour votre aide.