将数组值分配给Hash

时间:2014-10-30 09:07:47

标签: arrays perl hash

我有一个类似

的数组
@arr = ("test1","test2","test3","test4",...);

并且hashref已经具有以下值

$hash->{name} = 'name1';
$hash->{addr} = 'addr';

我需要将每个数组元素添加到哈希中,如

 $hash->{array_1} = "test1";
 $hash->{array_2} = "test2";
 $hash->{array_3} = "test3";
..

我如何轻松实现这一点?

(我不需要像$hash->{array_1} = $arr[0]; ...)。有没有其他方法可以将这些数组元素指定为哈希值?

1 个答案:

答案 0 :(得分:2)

您可以使用hash slice

@$hash{ map "array_$_", 1 .. @arr } = @arr;

$hash->{"array_$_"} = $arr[$_-1] for 1 .. @arr;