这可能是一个愚蠢的问题...以下代码分别输出
非常感谢。
@arrayref
和@arraycont
的内容。请注意它们之间的区别以及它们的值被赋值的方式。我知道匿名数组是什么,但有人能解释一下为什么会有差异吗?非常感谢。
@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
@array
包含引用,则[@array]
将包含相同的引用。在这种情况下,深度/浅度差异不适用,但我认为值得一提。 - mu is too short