my @a = (1, 2, 3); my @b = (5 .. 7); process(\@a, \@b); # pass array references to the sub sub process { my ($a1ref, $a2ref); # retrieve the params my @array1 = @{$a1ref); # dereference $a1ref inti an array my @array2 = @{$a2ref); # ... process @array1 and @array2 # ... }