use strict; use warnings; use Data::Dumper; { my @arra = (10,20); #no need for & and you can just pass a reference #&doublevalue(*arra); doublevalue(\@arra); } sub doublevalue { #my is preferred to local #local *a = shift ; my $a = shift; print Dumper @$a; }