use strict; sub foo { my (@args) = @_; print "$_\n" for @args; }; my @a = qw(a1 a2 a3); my @b = qw(b1 b2 b3 b4 b5); foo(1,2,3,4,5,@a,@b); #### 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); #### use strict; sub foo { my ($val1,$val2,$arr_ref1,$arr_ref2) = @_; print "$_\n" for ($val1,$val2); for my $array ($arr_ref1,$arr_ref2) { for my $element (@$array) { print "array: $element\n"; }; }; }; my @a = qw(a1 a2 a3); my @b = qw(b1 b2 b3 b4 b5); foo(1,2,\@a,\@b);