use strict "vars"; main(); sub main { my @array; #original array $array[0][1]=1; #set one of its values my @array2=@array; #create a backup array my (@newarray) = change(@array); #feed it to a function print "new array value is".$newarray[0][1]."\n"; #print print "original array value is".$array[0][1]."\n"; print "array2 value is".$array2[0][1]."\n"; } sub change { my (@array)=@_; #take input $array[0][1]=5; #change value return (@array); #return }