在Perl 5.10.1中:
#!/usr/bin/perl
my @a = (1, 2, 3);
my $b = \@a;
print join('', @{$b}) . "\n";
@a = (6, 7, 8);
print join('', @{$b}) . "\n";
这打印123然后打印678.但是,我想两次得到123(即重新分配@a
的值不会改变$b
引用的数组。我怎么能这样做?
答案 0 :(得分:3)
引用@a
。
my $b = [ @a ];
答案 1 :(得分:0)
Bretter使用dclone深度克隆指向匿名数据结构的引用。