- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列に値を入れたいのですが・・)
Perl初心者が配列に値を入れる方法
このQ&Aのポイント
- Perl初心者が配列に値を入れる方法について、上書き保存をするためのテキストデータの編集方法やデータの送信方法について解説します。
- テキストデータファイルの編集やHTMLの作成方法、データの読み込みや配列への値の格納方法、変数への代入方法について解説します。
- Perl初心者による配列への値の格納や上書き保存の方法に関する問題について、解決策や対処法を提案します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
配列に入れることは無理です。perlではなく、HTML/FORMの制限です。 配列は普通の文字に展開して、perlで受け取ったときに配列に分解してください。 for($x=0;$x<=$count;$x++){ $simei[$x]=$in{"name_$x"}; } input の nameも同様にすれば OKでしょう。
その他の回答 (1)
- yatokesa
- ベストアンサー率40% (201/496)
回答No.2
巧くいかないですか...。私は実際この方法で巧くいってるのですが。 そうなると $in{}にちゃんと展開されているか、という問題になりますね。 while (($name, $value) = each(%in)) { print "$name = $value\n"; } で値がどういう風に格納されているか確認してください。 あと念のため。 > <input type='text' name='name_1' value='山田'> に > for($x=0;$x<=$count;$x++){ > $simei[$x]=$in{"name_$x"}; > } $x は 0から始まっているので、HTMLのname は name_0 にしないと、ですね。
質問者
お礼
その後、いろいろ変更してやってみて、何とかうまく値を取得できました。おっしゃっていたとおりでした。 ありがとうございました。 感謝!感謝です。少々とろいのでいらいらするかもしれませんが、質問を上げたときは宜しくお願いします。
質問者
補足
in{}にはデータが展開されていました。 ということは、それが配列に格納されないというところですね。う~ん、あれこれ試してみます。 すみませんね。何から何までお世話になります。
お礼
先の質問から引続きありがとうございます。 早速作成するHTMLを <input type='text' name='name[0]' value='山田'> を <input type='text' name='name_1' value='山田'> に for($x=0;$x<=$count;$x++){ $simei[x]=$in{'name[x]'}; } を for($x=0;$x<=$count;$x++){ $simei[$x]=$in{"name_$x"}; } にして実行してみましたが、やはり値を取得しません。 困ったな・・・ データをアップデートする方法の考え方自体おかしいのでしょうか? 一般的にはどんなふうにこの処理を行うのでしょうか?