Bonjour,
Dans un code en Perl, je réalise un traitement sur des requêtes SQL.
Un exemple simple :
$1 est juste une variable, qu'on va venir remplacer grâce au traitement réalisé dans la RegExp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select col2 from table1 where col1 like '$1'
Ma RegExp se présente ainsi :
Tout se passe bien pour ce traitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 my $sep = "\$"; my $request = shift;#je récupère ici la requête dont je parle au-dessus while ($request =~ /$sep/) { if ($request =~ /(.*)$sep(\d+)(.*)/){ print "$1";#select col2 from table1 where col1 like ' print "$3";#' my $value = traitement($2); $request = $1.$value.$3; } }
MAIS, si je transforme la requête avec "=" au lieu de "LIKE", ça ne marche plus.
Pouvez-vous me donner un coup de pouce, pour que ma RegExp marche à coup sûr dans les 2 cas ("=" et "LIKE")?
Merci pour votre aide.![]()
Partager