Bonjour,
depuis un petit moment je me retrouve confrontée à un problème qui doit être tout bête, mais étant un peu rouillée en Perl j'avoue ne pas trouver de solutions malgré de nombreuses tentatives.
Dans la chaîne de caractères suivante :
Je cherche à récupérer sous la forme d'une liste tous les motifs commençant par ENS (il y a un doublon, c'est normal, cela vient du fichier dont je dispose, ne cherchons pas à comprendre !). J'ai donc essayé de plusieurs façons, j'ai réussi a avoir un début de réponse avec la fonction map() mais à force de tripatouiller pour améliorer le tout, j'ai peur d'avoir réussi à m'embrouiller.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DR Ensembl; ENSBTAT00000022411; ENSBTAP00000022411; ENSBTAG00000016846.
Voici la syntaxe que j'utilise pour lister les motifs :
Le problème c'est que je me retrouve avec une liste ne contenant que la première occurrence du motif, ce qui n'est pas le but recherché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part @ens = map {($_ =~ /(ENS\w+)+/gx) ? $1 : () } $_;
J'ai besoin de récupérer les occurrences sous forme de liste pour la suite de mon script (qui lui tourne très bien) dans le but de l'améliorer mais j'avoue que là j'en viens à perdre mon latin. Serais-je passée à côté d'une fonction au niveau des RegEx ?
Merci d'avance à la ou les personnes qui trouveront la solution !
Cordialement, Norore.
Partager