我发现这个问题有很多不同的答案,似乎都没有用(?!)
以下是我所拥有的:
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:
我总是得到一个数组而不是键值
答案 0 :(得分:5)
您希望在分配哈希时使用括号( )
,而不是方括号[ ]
。
my %FORM = ("a"=>"0AD", "b"=>"johnny manziel", "c"=>"lincoln");
[ ]
创建一个ARRAY 参考,这不是您想要的。
检查