Bonjour bonjour,
Je viens avec vous car je suis un peu en train de me prendre la tête, héhé
Alors voilà, j'ai un petit souci, je souhaite attribuer un numéro (compteur) qui sera incrémenté avec le nombre de fois où je rencontrerais une des clés de ma table de hachage.
Explications !
Disons que mon fichier est de cette forme :
chr position type
Je souhaiterais obtenir, étant donné que j'ai déjà trié par position :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 chr1 12000 DEL blabla chr1 12300 DEL blabla chr2 14000 INS blabla chr3 22000 INS blab chr3 30000 DEL bla
Je souhaite intégrer ceci dans mon script.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 chr1 12000 DEL_1 blabla chr1 12300 DEL_2 blabla chr2 14000 INS_1 blabla chr3 22000 INS_2 blab chr3 30000 DEL_3 bla
Sachant que ma table de hashage... Enfin, il s'agit de hash dans des hash, est de cette forme :
$data{$chr}{$position}{'type'}
$data{$chr}{$position}{'infoblabla'}
Donc en gros, dès que je rencontre le type DEL, je veux incrémenter et que pour ce type là puis print.
Pareil pour les autres types.
J'ai voulu tester en faisant ceci :
Sauf que ça marche pas car ça print pas par type, ça m'a donné ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 my @tabType = sort {$a cmp $b} keys %{$data->{$chr}{$position}{'type'}; foreach my $type (@tabType) { $cpt++; }
Sachant que pour le moment, je fais un seul print pour toutes mes infos.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 chr1 12000 DEL_1 blabla chr1 12300 DEL_2 blabla chr2 14000 INS_3 blabla chr3 22000 INS_4 blab chr3 30000 DEL_5 bla
En gros, je ne fais pas un print par type, un print que pour DEL, que pour INS, etc.
Merci d'avance pour votre aide !
Fry.
Partager