2012-09-16 71 views
1

從多維散斂名單在編程的Perl(書)我讀,我可以創造一個字典,其中的條目保存數組如下:在Perl

$wife{"Jacob"} = ["Leah", "Rachel", "Bilhah", "Zilpah"]; 

說我想在列表中抓取$wife{"Jacob"}的內容。我怎樣才能做到這一點?

如果我嘗試:

$key = "Jacob"; 
say $wife{$key}; 

我得到:

ARRAY (0x56d5df8) 

這讓我相信,我得到一個參考,而不是實際的名單。

回答

4

有關使用複雜的數據結構和參考信息,請參見

從本質上講,散列只能有標量作爲值,但引用是標量,因此,要保存的哈希內的數組引用,並有取消引用它的陣列。

要取消引用引用,請使用@{...}語法。

say @{$wife{Jacob}}; 

​​3210
1

我想這個時候,你必須知道 $指標 和@指陣列。

,因爲你自己說,該鍵的值是一個數組,那麼你應該

say @wife{$key}; 

,而不是

say $wife{$key};