dポイントプレゼントキャンペーン実施中!

配列変数の名前の中に変数を入れたい場合、どのように記述すればいいのでしょうか?
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];
}
}

よろしくお願いします。

A 回答 (1件)

普通はこんな感じに配列の配列にすると思いますが、なぜその書き方が必要なんでしょう。



$answer[$x][$y] = $line0[0];
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/11/04 01:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!