【发布时间】:2013-05-17 12:52:38
【问题描述】:
我正在尝试创建一个哈希,其中键包含在数组中,值包含在数组的数组中:
my @keys = (1,2,3,4,5);
my @value1 = (a,b,c,d,e);
my @value2 = (f,g,h,i,j);
my @value3 = (k,l,m,n,o);
my @values = ([@value1],[@value2],[@value3]);
my %hash;
我想创建一个以@keys 作为键,@values 作为值的散列,以便键'1' 将返回值 a、f、k(每个数组中的第 0 个元素)等等。
对于单个键,这将实现如下:
%hash=('key'=>@values);
但我不确定如何为一组键修改它。
任何帮助都会很棒!
干杯,
没有
【问题讨论】:
-
%hash=('key'=>@values);是错误的。值必须是标量。您可以使用%hash = ( key => \@values );或%hash = ( key => [ @values ] );。 -
每个数组的第 0 个元素的值是
a,f,k而不是a,g,k
标签: arrays perl hash multidimensional-array