У меня есть такой код:
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'
];
В настоящее время выводит только «+»