如何創建陣列的從下面的代碼和數據的散列:如何在沒有非空行創建從輸入陣列的散列隔板
這是我的代碼:
use strict;
use warnings;
use Data::Dumper;
my %hash;
while(<DATA>) {
chomp;
my $line = $_;
print "$line\n";
my ($id) = /^(track.*$)/;
my ($mem) = /^(chr22.*$)/;
print " ID: $id - $mem\n";
push @{$hash{$id}},$mem;
}
print Dumper \%hash;
__DATA__
track name=chr22[Target-Scrambled-Inversion]_29112_INS_-263
chr22[Target-Scrambled-Inversion] 29835 30134
chr22[Target-Scrambled-Inversion] 29154 29453
track name=chr22[Target-Scrambled-Inversion]_30604_INV_8872
chr22[Target-Scrambled-Inversion] 29141 29440
因此,每個元素都具有散列track
作爲鍵和隨後的chr22
條目作爲其成員。
在這一天結束時,我想創建此輸出:
$VAR = [ "track name=chr22[Target-Scrambled-Inversion]_29112_INS_-263" =>
["chr22[Target-Scrambled-Inversion] 29835 30134",
"chr22[Target-Scrambled-Inversion] 29154 29453"],
"track name=chr22[Target-Scrambled-Inversion]_30604_INV_8872" =>
["chr22[Target-Scrambled-Inversion] 29141 29440" ]];
目前執行失敗:https://eval.in/89547
*總是*'使用嚴格;使用警告;' – Kenosis
我沒有:)只是不寫在那裏。但好點。我會添加它:P – 2014-01-16 06:37:32