perl:如何循环哈希

时间:2014-12-27 16:50:16

标签: perl hash

我发现这个问题有很多不同的答案,似乎都没有用(?!)

以下是我所拥有的:

my %FORM = ["a"=>"0AD", "b"=>"johnny manziel", "c"=>"lincoln"];
#my @k = keys (%FORM);
#for my $iter (@k) { print "$iter\n"; }
#for my $key (keys %FORM) {
#   print "\t";
#   print $FORM{$key};
#   print "\n";
#}

while ( ($key, $value) = each %FORM )
{
  print "key: $key, value: $FORM{$key}\n";
}

典型输出:

./testprinthash.pl
key: ARRAY(0x13a2998), value: 

我总是得到一个数组而不是键值

1 个答案:

答案 0 :(得分:5)

您希望在分配哈希时使用括号( ),而不是方括号[ ]

my %FORM = ("a"=>"0AD", "b"=>"johnny manziel", "c"=>"lincoln");

[ ]创建一个ARRAY 参考,这不是您想要的。

检查