Merci ... c'est en effet plus simple que ce que je ne pensais.
Je m'y perds un peu. Tu m'avais aidé lors d'un précédent problème en écrivant ceci :
my $s = join "", @{[substr($sequence, 0, $X-1) =~ /([ATCG])/g]}[-5..-1], @{[substr($sequence, $X-1) =~ /([ATCG])/g]}[0 .. 5];
L’énoncé étant :
A partir du Xième caractère de $sequence X = 30
Récupérer N nucléotides de part et d'autre N = 5
Tu passes par un substring pour récupérer les caractères de part et d'autre. Sur cette liste, on utilise une expression régulière afin de ne récupérer que les ATCG.
En quoi ce problème est-il différent? Pourquoi cela ne fonctionne-t-il pas? C'est pourtant bien une regexp sur une liste ...
print (join "\n", @{[@Lonly =~ /[A-Z]/g]};
Partager