我有使用数组的数组需要创建perl hash ..例如:@array =(1,2,3,4,5,6) 哈希应该是1-> 2-> 3-> 4-> 6.请帮助任何身体
答案 0 :(得分:2)
你可以,
my @array =(1,2,3,4,5,6);
my %hash = @array;
会产生类似1=>2, 3=>4, 5=>6
和
my %hash = map { ($array[$_]) x (1+ ($_ && $_< $#array)) } 0 .. $#array;
会产生类似1=>2, 2=>3, 3=>4, 4=>5, 5=>6
答案 1 :(得分:1)
%hash=(1=>2,3=>4,5=>6)
mpapec的答案是正确答案。如果您想创建%hash=(1=>1,2=>2,3=>3,4=>4,5=>5,6=>6)
,可以执行以下操作:
my @array=(1,2,3,4,5,6);
my %hash;
for (@array) {
$hash{$_}=$_
}
如果您不想关心值,只关键,您可以执行以下操作:
my @array=(1,2,3,4,5,6);
my %hash;
@hash{@array}=1; #will produce %hash=(1=>1,2=>undef,3=>undef,4=>undef,5=>undef,6=>undef)