我有一个类似
的数组@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];
...)。有没有其他方法可以将这些数组元素指定为哈希值?
答案 0 :(得分:2)
您可以使用hash slice
,
@$hash{ map "array_$_", 1 .. @arr } = @arr;
或
$hash->{"array_$_"} = $arr[$_-1] for 1 .. @arr;