- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlでサブルーチンへの複数の配列渡し)
perlでサブルーチンへの複数の配列渡し
このQ&Aのポイント
- perlでサブルーチンに複数の配列を渡す方法を教えてください。
- 引数として複数の配列を渡す場合、第2引数以降が正しく渡されない問題が発生しています。
- どのようにすれば上手く複数の配列を渡せるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ご参考 http://www.dab.hi-ho.ne.jp/sasa/biboroku/perl/array_argument.html 上記のように「@_」は「呼ばれた先で、引数の切れ目が判らなくなる」ので、@arg1に「すべての値が全部入る」事になります。 回答ANo.1のように「リファレンスを渡す」と「呼んだ先で変数を書き換えると、呼び出し元の値も変わってしまう」と言う事に注意して下さい。
その他の回答 (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"; } のような感じでいけるようです。 環境無いので試してません。
質問者
お礼
ありがとうございます。 リファレンスを使ってできました。
お礼
ありがとうございます。 ご説明と参考となるURL参考になりました。