- ベストアンサー
textareaのデータのcgiでの受け取り方
textareaのデータの受け取り方を教えてください。 下記のようなtextareaを作って、データを入力したとします。 <textarea name="command" rows="10" cols="50"></textarea> -----------textarea---------------------- aaa bbbb ccccc ----------------------------------------- この入力データをcgi(perl)で変数として、改行なしで一行づつ受け取りたいと考えています。データを配列(改行なし)として受け取れたら、なおよしです。どのようなコードを書けばよいのでしょうか? よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
私の場合以下のようにしてます。 $form{command}=~ s/\x0d\x0a|\x0d|\x0a/<br>/gi; @command = split("<br>",$form{command});
その他の回答 (1)
- shimix
- ベストアンサー率54% (865/1590)
フォームからCGIにPOSTされるデータはあくまでも aaa(改行)bbbb(改行)ccccc です。分ける必要があれば、受け取ったあとで改行コードで(Perlスクリプトで)分割して配列にいれればいいと思います。 #普通はそうしているハズです。 一度書いておけば使いまわせますから。
お礼
回答ありがとうございます。 私もそう思って、splitで改行で分割して配列で得たのですが、うまくいきません。 具体的には、どうもオリジナルデータがaaa(改行)(改行)(改行)bbbb(改行)(改行)cccccになるのです。 splitで分割するとaaa(改行)bbbb(改行)cccccになってしまいます。さらにsplitで分割すると値を得ることができません。 もし、よければコードで教えてください。
お礼
回答ありがとうございます。 上記の方法を試しましたが、値が消失してしまいうまくいきませんでした。 しかし、下記の方法で無理やり値を取得できましたので報告しておきます。 my @com = split /\n/, $command; chop(@com); みなさん、ありがとうございました。