取消引用 perl 中的哈希数组. 实验警告



我在访问我的数组时收到警告。这可能是一种非perl循环方式,但我正在自学perl,我正在尝试不同的场景。 我可以遍历%user但不知道如何遍历数组哈希引用?

my %user;
$user{mike}{emp_id} = 1;
$user{john}{emp_id} = 2;
my @user = %user;
foreach my $value_hash (@users)
{
#error line
foreach my $key (keys $value_hash) 
{ 
foreach my $id (keys %{ $users{$key} }) 
{
print "name: $keyt$id: $users{$key}{$id}n";
}
}
print "n";
}

keys EXPR是一个已经被放弃和删除的实验性功能。

$ 5.22t/bin/perl -e'my $h = {}; keys $h;'
keys on reference is experimental at -e line 1.
$ 5.24t/bin/perl -e'my $h = {}; keys $h;'
Experimental keys on scalar is now forbidden at -e line 1.

使用keys的正确方法是

keys HASH
keys ARRAY

取代

keys $value_hash

keys %$value_hash

keys %{ $value_hash }

您已经第二次正确使用了它。

最新更新