use strict; sub foo { my ($val1,$val2,$arr_ref1,$arr_ref2) = @_; print "$_\n" for ($val1,$val2,$arr_ref1,$arr_ref2); }; my @a = qw(a1 a2 a3); my @b = qw(b1 b2 b3 b4 b5); foo(1,2,\@a,\@b);