2010-06-03 23 views
7

在下面的Perl代碼的非關聯陣列,我希望數組Perl中,引用

#!/usr/bin/perl 

use strict; 
use warnings; 

my @a=([1,2],[3,4]); 

my @b = @$a[0]; 

print $b[0]; 

但它似乎不工作內的被引用數組引用。我會期待它輸出1

@a是引用

@b的數組$a[1]間接引用(我認爲)

那麼,有什麼問題呢?

回答

10

這東西很棘手。

@$a[0]被解析爲(@$a)[0],取消引用(不確定)標$a

你想說的話@{$a[0]}

+0

Perl中有這麼多的怪癖我仍然習慣。感謝您的幫助 – Mike 2010-06-03 20:41:58

+6

如有疑問,只需添加更多大括號:D – Ether 2010-06-03 20:48:55