Tho*_*ing 2 arrays perl reference
我有以下三个作业,其中第二个看起来不标准:
my $realRef = [1, 2, 3];
my @nonRef = [4, 5, 6];
my $nonRef = [7, 8, 9];
Run Code Online (Sandbox Code Playgroud)
第二个实际上应该是以下内容:
my @nonRef = (4, 5, 6);
Run Code Online (Sandbox Code Playgroud)
打印时,所有三个变量都包含数组引用,尤其是同名变量,只是不同之处@,$不会共享相同的数据或相互覆盖。
Ref: ARRAY(0x1fd6a8); $VAR1 = [
1,
2,
3
];
Ref: ARRAY(0x6445d8); $VAR1 = [
4,
5,
6
];
Ref: ARRAY(0x644740); $VAR1 = [
7,
8,
9
];
Run Code Online (Sandbox Code Playgroud)
为什么完全@nonRef包含数组引用?那是存储在$nonRef符号表条目中nonRef还是类似的东西?为什么值@nonRef和$nonRef不重叠?两者不都是只参照不同的插槽,相同的符号表项ARRAY主场迎战SCALAR?因为最后两个存储引用,我本来希望使用与插槽相同的符号表条目SCALAR。
谢谢!