Four ways:
our @array; local *array = $ref;
\my @array = $ref;
(Experimental feature added to 5.22)use Data::Alias; alias my @array = @$ref;
- Using magic (e.g.
tie my @array, 'Tie::StdArrayX', $ref;
)
But of course, the sensible approach is to do
my $array = $ref;
and use @$array
instead of @array
.
Aforementioned Tie::StdArrayX:
package Tie::StdArrayX;
use Tie::Array qw( );
our @ISA = 'Tie::StdArray';
sub TIEARRAY { bless $_[1] || [], $_[0] }