Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
perl中散列的解引用数组。实验警告_Perl - Fatal编程技术网

perl中散列的解引用数组。实验警告

perl中散列的解引用数组。实验警告,perl,Perl,访问阵列时收到警告。这可能是一种不完美的循环方式,但我正在自学perl,并尝试不同的场景。我可以在%user上循环,但不知道如何在数组hash ref上循环 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)

访问阵列时收到警告。这可能是一种不完美的循环方式,但我正在自学perl,并尝试不同的场景。我可以在
%user
上循环,但不知道如何在数组hash ref上循环

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: $key\t$id: $users{$key}{$id}\n";
      }
  }
  print "\n";
}

keys EXPR
是一项已被放弃和删除的实验功能

$5.22t/bin/perl-e'my$h={};钥匙$h;'
参考上的键在-e第1行是实验性的。
$5.24t/bin/perl-e'my$h={};钥匙$h;'
标量上的实验键现在在-e行1处被禁止。
使用
键的正确方法是

keys HASH
keys ARRAY
替换

keys $value_hash


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

keys EXPR
是一项已被放弃和删除的体验功能

$5.22t/bin/perl-e'my$h={};钥匙$h;'
参考上的键在-e第1行是实验性的。
$5.24t/bin/perl-e'my$h={};钥匙$h;'
标量上的实验键现在在-e行1处被禁止。
使用
键的正确方法是

keys HASH
keys ARRAY
替换

keys $value_hash


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

提示:
foreach my$value\u散列(@users)
毫无意义
@users
始终只包含一个值,因此您可以轻松地使用
my$value\u hash=\%user。但是为什么要创建一个引用呢?我在访问我的阵列时收到一个警告,这是一个未来的提示。你所看到的警告信息总是值得一提的。谢谢你的建议。我只是在perl中尝试不同的东西。我不经常使用它,但我必须维护一些代码,我遇到了这些代码。提示:
foreach my$value\u hash(@users)
毫无意义
@users
始终只包含一个值,因此您可以轻松地使用
my$value\u hash=\%user。但是为什么要创建一个引用呢?我在访问我的阵列时收到一个警告,这是一个未来的提示。你所看到的警告信息总是值得一提的。谢谢你的建议。我只是在perl中尝试不同的东西。我不经常使用它,但我必须维护一些代码,我遇到了这些代码。