爲什麼在創建以下數組@ test1和@ test2時會有所不同?Perl 2d數組推送
#!/bin/perl -w
use Data::Dumper;
use warnings;
use strict;
my @test1 = [
['note', 1],
['note', 3]
];
print Dumper(@test1);
my @test2;
push(@test2, ['note', 1]);
push(@test2, ['note', 3]);
print Dumper(@test2);
Datadump用於測試1:
$VAR1 = [
[
'note',
1
],
[
'note',
3
]
];
Dumpt用於測試2:
$VAR1 = [
'note',
1
];
$VAR2 = [
'note',
3
];
是否有創造@ test1的與反覆推到@ TEST2相同的結果的可能性?
試試'push(@ {$ test2 [0]},['note',1])''。還要注意'@array = [[1],[2]]'與@array =([1],[2])不同' –