我试图将数组值存储在哈希表中,但是在 for 循环中,哈希键只存储了数组的最后一个值。
我的期望输出是,“STORE”键应该拥有所有的数组元素。 我知道还有其他几种方法可以将数组值存储在哈希表中,但我很好奇为什么下面的脚本不起作用。
use strict;
use warnings;
use Data::Dumper;
my @array = (1,2,3);
my %record;
for my $array(@array) {
$record{"STORE"} = $array;
}
print Dumper \%record;
$record{"STORE"}
是一个标量值,并且您正在使用=
进行标量赋值,那么它与例如$foo = $array
相同,您不应该感到惊讶,因为它将在每次循环迭代中被覆盖。 - TLP