Just one thing to add to what the others said: Although discouraged by some, I personally fancy prototypes. In the following example prototyping the function makes it
seem (this "seem" is important) as if you just needed arrays and not references to arrays; the references are automatically generated by Perl.
#!perl
use strict;
use warnings;
sub test ($\@\@) {
my $number = shift;
my @array1 = @{+shift}; # Shift off the reference, and dereference
+ it
my @array2 = @{+shift};
# Print the variable contents
print $number . $/ . join(' - ', @array1) . $/ . join(' - ', @array
+2) . $/;
}
my @a = qw(mary had a little lamb !);
my @b = qw(London Bridge is);
test (2, @a, @b);
__END__
OUTPUT:
2
mary - had - a - little - lamb - !
London - Bridge - is
Have a look at
perlsub for an explanation of prototypes. Please note that the above only works for arrays and not for lists.
Hope this helped.