Unless the way you are passing the parameters is different from what you have shown, I am not certain that you are getting the data you expect into these variables.
use strict;
use warnings;
use Data::Dumper;
$Data::Dumper::Indent = 1;
sub testme {
my ($a, @b, @c) = @_;
print Dumper(\$a, \@b, \@c);
}
print "===== 1 ======\n";
testme("a", qw(b c d), qw(e f g));
print "===== 2 ======\n";
testme("a", ('b', 'c', 'd'), ('e', 'f', 'g'));
__DATA__
===== 1 ======
$VAR1 = \'a';
$VAR2 = [
'b',
'c',
'd',
'e',
'f',
'g'
];
$VAR3 = [];
===== 2 ======
$VAR1 = \'a';
$VAR2 = [
'b',
'c',
'd',
'e',
'f',
'g'
];
$VAR3 = [];
|