こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

textareaのデータの受け取り方を教えてください。
下記のようなtextareaを作って、データを入力したとします。

<textarea name="command" rows="10" cols="50"></textarea>

-----------textarea----------------------
aaa
bbbb
ccccc
-----------------------------------------

この入力データをcgi(perl)で変数として、改行なしで一行づつ受け取りたいと考えています。データを配列(改行なし)として受け取れたら、なおよしです。どのようなコードを書けばよいのでしょうか?

よろしくおねがいします。

投稿日時 - 2008-01-28 21:29:09

QNo.3722635

すぐに回答ほしいです

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

私の場合以下のようにしてます。
$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

投稿日時 - 2008-01-29 09:33:07

お礼

回答ありがとうございます。
上記の方法を試しましたが、値が消失してしまいうまくいきませんでした。
しかし、下記の方法で無理やり値を取得できましたので報告しておきます。

my @com = split /\n/, $command;
chop(@com);

みなさん、ありがとうございました。

投稿日時 - 2008-01-29 11:48:50

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

フォームからCGIにPOSTされるデータはあくまでも

aaa(改行)bbbb(改行)ccccc

です。分ける必要があれば、受け取ったあとで改行コードで(Perlスクリプトで)分割して配列にいれればいいと思います。

#普通はそうしているハズです。

一度書いておけば使いまわせますから。

投稿日時 - 2008-01-28 21:44:57

お礼

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

もし、よければコードで教えてください。

投稿日時 - 2008-01-28 23:00:48

あなたにオススメの質問