• ベストアンサー

textareaのデータのcgiでの受け取り方

textareaのデータの受け取り方を教えてください。 下記のようなtextareaを作って、データを入力したとします。 <textarea name="command" rows="10" cols="50"></textarea> -----------textarea---------------------- aaa bbbb ccccc ----------------------------------------- この入力データをcgi(perl)で変数として、改行なしで一行づつ受け取りたいと考えています。データを配列(改行なし)として受け取れたら、なおよしです。どのようなコードを書けばよいのでしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • elbend
  • ベストアンサー率50% (7/14)
回答No.2

私の場合以下のようにしてます。 $form{command}=~ s/\x0d\x0a|\x0d|\x0a/<br>/gi; @command = split("<br>",$form{command});

参考URL:
http://www.din.or.jp/~ohzaki/perl.htm#CRLF_2BR
aakkiirraajp
質問者

お礼

回答ありがとうございます。 上記の方法を試しましたが、値が消失してしまいうまくいきませんでした。 しかし、下記の方法で無理やり値を取得できましたので報告しておきます。 my @com = split /\n/, $command; chop(@com); みなさん、ありがとうございました。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

フォームからCGIにPOSTされるデータはあくまでも aaa(改行)bbbb(改行)ccccc です。分ける必要があれば、受け取ったあとで改行コードで(Perlスクリプトで)分割して配列にいれればいいと思います。 #普通はそうしているハズです。 一度書いておけば使いまわせますから。

aakkiirraajp
質問者

お礼

回答ありがとうございます。 私もそう思って、splitで改行で分割して配列で得たのですが、うまくいきません。 具体的には、どうもオリジナルデータがaaa(改行)(改行)(改行)bbbb(改行)(改行)cccccになるのです。 splitで分割するとaaa(改行)bbbb(改行)cccccになってしまいます。さらにsplitで分割すると値を得ることができません。 もし、よければコードで教えてください。