在 Perl 中,您可以为一个变量分配对另一个变量的引用,如下所示:
my @array = (1..10);
my $ref = \@array;
而且,因为它是一个参考,你可以做这样的事情,这两个变量都会受到影响:
push @array, 11;
push @$ref, 12;
并且两个变量都将包含1..12
,因为它们都指向同一个空间。
现在,我想知道是否有任何方法可以做同样的事情,但从一个 ref 开始,然后将该引用分配给一个普通变量。例如:
my $ref = [1..12];
my @array = # something here that makes @array point to the same space $ref contains
我知道我可以像这样分配它:
my @array = @$ref;
但是,那是副本。如果我更改 $ref 或 @array,这些将是独立的更改。
有没有办法让@array 指向与 $ref 相同的变量?