1
我想從@array
創建一個多維%hash
。從數組中創建散列的多維密鑰?
假設@array
就像
my @array=(1,2,3,4,5);
我想分配@array
最後的值作爲最終值多維%hash
即
%hash=(
1=>{
2=>
{
3=>
{
4=>5
}
}
}
)
這意味着$hash{1}{2}{3}{4}=5;
我想要做的東西如:
for my $i (0..$#array){
#push $i as key until second last element and assign last element as value
}
注意:@array
可能是任何大小,只是我想分配@array
的最後一個元素作爲值到%hash
中最後一個元素之前的元素的鍵。
對不起@';'沒有這一行'$ p = \($$ p - > {$ _})。 '$$ p'是hashref,'$$ p - > $ _'是value,之後我沒有得到'\()'? –
'$$ p'可以是hashref,但不一定。在循環中,它可以是undef或者哈希引用。在循環結束時,它可以是任何東西。 '\'得到一個參考。 parens只是在那裏覆蓋優先權。 – ikegami
以及爲什麼你在這裏參考hash的參考'my $ p = \ shift;' –