• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlでサブルーチンへの複数の配列渡し)

perlでサブルーチンへの複数の配列渡し

このQ&Aのポイント
  • perlでサブルーチンに複数の配列を渡す方法を教えてください。
  • 引数として複数の配列を渡す場合、第2引数以降が正しく渡されない問題が発生しています。
  • どのようにすれば上手く複数の配列を渡せるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ご参考 http://www.dab.hi-ho.ne.jp/sasa/biboroku/perl/array_argument.html 上記のように「@_」は「呼ばれた先で、引数の切れ目が判らなくなる」ので、@arg1に「すべての値が全部入る」事になります。 回答ANo.1のように「リファレンスを渡す」と「呼んだ先で変数を書き換えると、呼び出し元の値も変わってしまう」と言う事に注意して下さい。

abc999xyz
質問者

お礼

ありがとうございます。 ご説明と参考となるURL参考になりました。

その他の回答 (1)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは コード、間違っているかも知れませんが、リファレンスを使って #!/usr/bin/perl @x1 = (14, 11, 5, 12, 8, 15); @x2 = (12, 10, 8, 9); &test(\@x1, \@x2); sub test { my ($arg1, $arg2) = @_; print "sub : @$arg1 \n"; print "sub : @$arg2 \n"; } のような感じでいけるようです。 環境無いので試してません。

abc999xyz
質問者

お礼

ありがとうございます。 リファレンスを使ってできました。

関連するQ&A