這可能是一個愚蠢的問題...以下代碼分別輸出@arrayref
和@arraycont
的內容。請注意它們之間的差異以及它們值的分配方式。我知道匿名數組是幹什麼的,但任何人都可以解釋爲什麼會有差異?Perl:數組引用與匿名數組
非常感謝。
@arrayref =();
@array = qw(1 2 3 4);
$arrayref[0] = \@array;
@array = qw(5 6 7 8);
$arrayref[1] = \@array;
print join "\t", @{$arrayref[0]}, "\n";
print join "\t", @{$arrayref[1]}, "\n";
@arraycont =();
@array = qw(1 2 3 4);
$arraycont[0] = [@array];
@array = qw(5 6 7 8);
$arraycont[1] = [@array];
print join "\t", @{$arraycont[0]}, "\n";
print join "\t", @{$arraycont[1]}, "\n";
輸出
5 6 7 8
5 6 7 8
1 2 3 4
5 6 7 8
A *淺*副本,如果'@array '包含引用,那麼'[@array]'將包含那些相同的引用。在這種情況下,深淺區別不適用,但我認爲這值得一提。 –
謝謝,更新。 – yamen