J'ai un problème pour l'utilisation de variables dans une expression régulière. Avez-vous une idée de la façon de procéder?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
my ($for_e5, $for_e3) = ($for_primer =~ /^([A-Z]+)([A-Z]{3})$/);
my ($rev_e3, $rev_e5) = ($rev_primer =~ /^([A-Z]{3})([A-Z]+)$/);
 
... 
 
# préparation pour l'utilisation dans une expression régulière
$for_e3 = qw/$for_e3/;
$rev_e3 = qw/$rev_e3/;
 
...
 
	# REGEXP
	# $1 =>  $for_length_e5 nucléotides, suivi du motif $for_e3
	# $2 =>  motif $rev_e3 suivi de $rev_length_e5 nucléotides
	if ($row[2] =~ /([A-Z]{0,$for_length_e5}$for_e3).*($rev_e3[A-Z]{0,$rev_length_e5})/){
		print $1."\t".$2."\n";
	}
	else{
		warn "ERREUR pour l'id $row[0]\n";
	}
Merci,