• 締切済み

変数名(配列)の中の変数

配列変数の名前の中に変数を入れたい場合、どのように記述すればいいのでしょうか? use strictを用いて、以下のように書いてみましたが、エラーが出て上手く動きません。 ループ x: 1-3 ループ y: 1-2 ${"answer$x"[$y]}=入力値 ←この部分を教えてください。    ループ閉 y ループ閉 x --------------------     answer1[1] answer1[2] answer2[1] answer2[2] answer3[1] answer3[2] とループを通るように、変数名を設定したいのですが、 エラーが出て実行ができません。 エラー:Can't use string ("answer1") as an ARRAY ref while "strict refs" in use at~ -------------------- 実際のプログラムは以下のように書いています。(該当部分のみ) for(my $x=1; $x<$num; $x++) { for (my $y=0; $y<$n; $y++) { my $y = ($x*$n)+$d; my @line = split(/\r/, $data[$y]); my @line0 = split(/\t/, $line[0]); ${"answer$x"[$y]} = $line0[0]; } } よろしくお願いします。

みんなの回答

  • mflow
  • ベストアンサー率63% (42/66)
回答No.1

普通はこんな感じに配列の配列にすると思いますが、なぜその書き方が必要なんでしょう。 $answer[$x][$y] = $line0[0];

kooru
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 次の日には回答を見させていただいて、プログラムを動かすことができました。 perlで配列の配列が使えることに気づいていなかったので、本当に助かりました! ありがとうございました。

関連するQ&A