Perl警告我有关在程序中使用伪哈希的信息:


伪哈希已弃用


我如何转换以下代码,以便不使用伪哈希

    foreach my $hash (@arrayOfHash) {
            print keys %{$hash};
    }

最佳答案

问题不在那个代码中。问题在于@arrayOfHash实际上包含arrayrefs,而不是hashrefs。

如果由于某种原因无法修复@arrayOfHash,可以通过以下方法解决:

foreach my $hash (@arrayOfHash) {
     my %hash = @$hash;
     print keys %hash;
}

08-27 20:13