perlでサブルーチンへの複数の配列渡し
perlでサブルーチンに配列を渡しているのですが、
引数としている配列が1個の場合は問題ないのですが、
複数渡すと、第2引数以降が渡りません。
どの様にすれば上手くできますか。
例1
#!/usr/bin/perl
@x1 = (14, 11, 5, 12, 8, 15);
@x2 = (12, 10, 8, 9);
print "main : @x1 \n";
&test(@x1);
sub test {
my (@arg1) = @_;
print "sub : @arg1 \n";
}
結果
main : 14 11 5 12 8 15
sub : 14 11 5 12 8 15
例2
#!/usr/bin/perl
@x1 = (14, 11, 5, 12, 8, 15);
@x2 = (12, 10, 8, 9);
print "main : @x1 \n";
print "main : @x2 \n";
&test(@x1, @x2);
sub test {
my (@arg1, @arg2) = @_;
print "sub : @arg1 \n";
print "sub : @arg2 \n";
}
結果
main : 14 11 5 12 8 15
main : 12 10 8 9
sub : 14 11 5 12 8 15 12 10 8 9
sub :
引数1に全てが設定されて、引数2に設定されていない。