我有這樣的代碼:如何內有條件訪問哈希散列在Perl
use Data::Dumper;
my %hash = (
'chrX' => {
'b' => [
'-51811268 210',
'-51810794 350',
'-51809935 298'
],
'f' => [
'51929018 210',
'51929492 350',
'51930351 298'
]
}
);
foreach my $cnam (keys %hash ) {
my @lpos_f =();
my @lpos_b =();
if ($hash{$cnam}{"f"}) {
@lpos_f = @{ $hash{$cnam}{"f"} };
print "+\n";
print Dumper \@lpos_f;
}
elsif ($hash{$cnam}{"b"}) {
@lpos_b = @{ $hash{$cnam}{"b"} };
print "-\n";
print Dumper \@lpos_b;
}
}
爲什麼沒有給打印輸出中的每個ELSIF條件,例如 它給這兩個。
+
[
'51929018 210',
'51929492 350',
'51930351 298'
];
-
['-51811268 210',
'-51810794 350',
'-51809935 298'
];
目前只給出 「+」 輸出
它給出了什麼輸出? – 2012-03-07 09:18:12