对于散列和数组,只能在给定键上存储一个标量.("钥匙是独一无二的.")如果不是,你就做不到
$h{a} = 1;
$h{a} = 2;
$val = $h{a}; # 2
$a[4] = 1;
$a[4] = 2;
$val = $a[4]; # 2
Run Code Online (Sandbox Code Playgroud)
如果要将多个值与键关联,可以在该键上放置对数组(或散列)的引用,并将值添加到该数组(或散列).
for my $n (4,5,6,10) {
if ($n % 2) {
push @{ $nums{odd} }, $n;
} else {
push @{ $nums{even} }, $n;
}
}
say join ', ', @{ $nums{even} };
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅perllol.
对于值,多个元素在哈希和数组中可以具有相同的值.
$counts{a} = 3;
$counts{b} = 3;
$counts[5] = 3;
$counts[6] = 3;
Run Code Online (Sandbox Code Playgroud)