##
my $p = [@a];
####
my @p = @a;
####
use strict;
use warnings;
use Data::Dumper;
my @a = (1,2,3,4);
my @copy = @a;
my $ref = \@a;
my $refcopy = [@a];
@a = ();
print "orginal: ", Dumper \@a;
print "array copy: ", Dumper \@copy;
print "reference: ", Dumper $ref;
print "ref copy: ", Dumper $refcopy;
####
foreach (@{$p}) { print "element $_\n"; }
####
print "element $_\n" for @$p;