Perl/CGIでGET, POSTのデータを受け取る
実はまともな入門書を読んでいないので、GETやPOSTのデータの受け取りは、自分で適当に書いたコードでやっている。
POSTの場合
$DATA=<STDIN>; @data= split(/\&/, $DATA); foreach $var (@data){ @TMP=split(/=/, $var); $FORM{$TMP[0]}=$TMP[1]; }
これで、例えば guid=on なら、$FORM{'guid'}='on' となっている。
GETの場合
$DATA=$ENV{'QUERY_STRING'}; @data= split(/\&/, $DATA); foreach $var (@data){ @TMP=split(/=/, $var); $FORM{$TMP[0]}=$TMP[1]; }
なんか併せてみた
$DATA=<STDIN>; $DATA.=$ENV{'QUERY_STRING'}; @data= split(/\&/, $DATA); foreach $var (@data){ @TMP=split(/=/, $var); $FORM{$TMP[0]}=$TMP[1]; }
いつもこんな感じでやっているのだけど、なんか行数が多くて、非常に長ったらしく高負荷な方法、もしくは致命的に間違っている方法なんじゃないかと恐ろしくて。
普通はどうやって取得するのだろう?