Expression régulière perl
Bonjour à tous,
j'ai un fichier tabulé avec un nombre de colonne qui est variable selon la ligne.
Mais, je cherche en fait à récupérer l'information contenue dans la premiere colonne, qui me servira par la suite de clé pour un hash, et stocker comme valeur pour cette clé, toutes les info contenues dans les colonnes suivantes.
Voici comme se compose mon fichier :
Code:
1 2 3 4 5
| FBtr0070000 Nep3-RA CG9565-RA
FBtr0070002 CG9570-RA
FBtr0070003 Or19b-RA CG32825-RA
FBtr0070025 AnnX-RA CG9579-RA
FBtr0070025 AnxB10-RA AnnX-RA CG9579-RA |
Je veux un hash {clé}->{valeurs} comme ceci :
Code:
1 2 3 4
| FBtr0070000 -> Nep3-RA,CG9565-RA
FBtr0070002 -> CG9570-RA
FBtr0070003 -> Or19b-RA,CG32825-RA
FBtr0070025 -> AnnX-RA,CG9579-RA,AnxB10-RA |
J'ai commencé en faisant comme ceci :
Code:
1 2 3 4 5 6 7 8
| while(<$data>){
chomp;
if ($_ =~ /(.*)\t((.*[\t])+)/){
my $cle = $1;
my $valeur = $2;
print "$valeur\n";
}
} |
Ca ne fonctionne pas ...
Ca me retourne seulement le premier élément après ma première colonne :
Code:
1 2 3 4 5
| Nep3-RA
CG9570-RA
Or19b-RA
AnnX-RA
AnxB10-RA |
Une idée ?