我试图将数组(不是数组引用)存储在哈希中,但是它正在处理标量上下文中的数组,并且只在{{1}中存储数组的最后一个值}}
$hash->{key}
输出:use Data::Dumper;
$h->{'a'} = ( 'str_1', 'str_2' );
print Dumper $h;
为什么我不能将数组存储在hash-Key中并以$VAR1 = { 'a' => 'str_2' };
答案 0 :(得分:3)
答案 1 :(得分:1)
哈希值必须是标量值,不能是数组或哈希值。因此,您需要使用数组引用作为$h->{'a'}
:
$h->{'a'} = [ 'str_1', 'str_2' ];
并使用
访问它们$h->{'a'}->[0]; # for 'str_1'
$h->{'a'}->[1]; # for 'str_2'
顺便说一句,正如@RobEarl所指出的,你也可以使用以下语法
$h->{'a'}[0]; # for 'str_1'
$h->{'a'}[1]; # for 'str_2'
请参阅perlref了解如何创建和使用不同类型的参考文献。