大きなプログラムの一環として、ハッシュがあります。私は鍵を印刷するプログラムをテストしていますが、それらはすべての重複をしている、印刷中のダブルハッシュエントリ
while (my $line = <SEQ>) {
chomp $line;
$line =~ s/>//;
my (@split1) = split("\t", $line);
foreach my $chr (keys %position) {
#print Dumper \%position;
print "$chr\n";
foreach my $pos (sort keys %{ $position{$chr} }) {
if ($split1[0] =~ /$chr/) {
#print "$chr\t$pos\n";
}
}
}
}
%position
がネストされたハッシュである理由私はprint "$chr\n";
上のキーを印刷するとき、彼らはすべて倍増している、知らないと私はしないでください理由を理解する。あなたが印刷されますwhile
内部foreach
ループを持って
my %data;
while(<DATA>){
chomp;
my ($chr, $seq) = split;
$data{$chr} = $seq;
}
print Dumper \%data;
あなたが 'SEQ'ファイルハンドルから読み取ったデータはどのように見えますか? –
SEQは次のようになります:> chr1 \ tACTGTAGTCTCATCCTAT ... \ n> chr2 \ tACGTAGCTAGT .... \ nなど – BlueStarry
ファイルの例をあなたの質問に編集できますか?コメント欄で読むのは難しいです。 –