Bonjour,

Je voudrais récupérer l'offset -/+ quand ça match une seule fois. Il faut donc récupérer le nombre de match et faire une condition. Jusqu'à présent j'écrivais ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
my $r = "abc";
my $var = "abcuatcgatabcagtc";
 
# MATCH 1
if (($var =~ s/$r/$r/g) == 1) {
	print "offsets $-[0] $+[0] \n";
}
 
# MATCH 2
while ($var =~ /($r)/gi) {
    print "r: $1 - offsets [$-[0]-$+[0]] \n";
}
Peut-on améliorer le match 1, notamment sur $var =~ s/$r/$r/g, je ne trouve pas cela très élégant... d'ailleurs $1 ($r) ne fonctionne pas dans le 1er cas.
la deuxième méthode m'oblige à faire un test supplémentaire quand match = 1 et on utilise le while..

Merci.