我有一些代碼如下。我試圖通過哈希搜索,如果我遇到一個零值,我想刪除整個鍵/值元素。通過哈希搜索,如果值爲零刪除它
my %hashy = (
a => my $a,
b => my $b,
c => my $c,
d => my $d,
e => my $e
);
$hashy{'a'} = 0;
$hashy{'b'} = 1;
$hashy{'c'} = 0;
$hashy{'d'} = 2;
$hashy{'e'} = 1;
my @keys = keys %hashy;
my @values = values %hashy;
my $ind = 0;
foreach my $v (@values) {
delete $hashy{$keys[$ind]} if ($v == 0);
}
所以在印刷%hashy
的預期輸出爲:b1d2e1
(忽略要素的順序)
目前,我得到:c0a0b1d2
它甚至還沒有接近...任何幫助,將不勝感激: )
哪裏'$ ind'從何而來?我看不到它增加。 – amon