Perl-遍历一系列散列问题



Perl新手,所以我怀疑有一个简单的解决方案,但尽管在谷歌上搜索了很多,我还是看不到。

my @special_things = get_special_things(@allThings);
sub get_special_things {
    my $things = shift;
    my @specialThings;
    foreach my $thing (@$things) {
        if ($thing{special} == 1) {
            push(@specialThings, $things);
        } 
    }
    return @specialThings;
}

传入的allThings数组是一个散列数组。foreach行上有一个错误,告诉我"全局符号"%thing"需要显式包名称"。

我知道这与引用哈希值或密钥有关,但我现在不知所措。非常感谢您的帮助。

您有一个hashrefs数组,而不是hashes数组。使用hashrefs时,需要使用$thing->{special}

最新更新