最初のパラメータを配列として、2番目のパラメータをスカラーとして受け取る関数またはサブルーチンがあります。たとえば、
sub calc {
my @array = $_[0];
my $scalar = $_[1];
print @array, $scalar;
}
問題は、関数が配列を渡された配列の最初の値と等しくし、スカラーを渡された配列の2番目の値にすることです。最初の配列を配列全体にしたい場合、配列のディープコピーを作成する必要はありません。たとえば、
my @array = ('51', 'M');
my $scalar = 21;
そして
calc(@array, $scalar)
51 M
必要なときに印刷します51 M 21
。
ベストアンサー1
参照として渡す必要があります:
calc(\@array, $scalar)
そして次のようにアクセスします:my @array = @{$_[0]};