2014-10-30 5 views
0

제가할당 배열 값이 이미 값 아래있다

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

그리고 hashref 같은 배열이 해시

I처럼 해시 각 배열 요소를 추가 할 필요
$hash->{name} = 'name1'; 
$hash->{addr} = 'addr'; 

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

어떻게 이것을 쉽게 구현할 수 있습니까?

(나는 $hash->{array_1} = $arr[0]; ...와 같이 필요하지 않습니다.) 이러한 배열 요소를 해시 값으로 할당하는 다른 방법이 있습니까?

답변

2

당신은 hash slice 사용할 수

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

또는

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