dポイントプレゼントキャンペーン実施中!

こんにちは
CGI初心者です。

http://www.perl-labo.org/formdata/getmethod/get. …日本語
この様に、日本語のGETパラメータを取得したいです。
http://www.perl-labo.org/formdata/jpname/
を参考にしました。

【記述】
#!C:/Perl/bin/perl

package plab;

sub getformdata
{
local $rawdata;
local %formdata;
local @inputs;
local($input, $name, $val);

if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $rawdata, $ENV{'CONTENT_LENGTH'});
}
elsif ($ENV{'REQUEST_METHOD'} eq "GET") {
$rawdata = $ENV{'QUERY_STRING'};
}

@inputs = split('&', $rawdata);

foreach $input (@inputs) {
($name, $val) = split('=', $input);
$name =~ tr/+/ /;
$val =~ tr/+/ /;
$name =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C", hex($1))/eg;
$val =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C", hex($1))/eg;
$formdata{$name} = $val;
}

return %formdata;
}

1;


実行するとサーバーエラーになってしまいます。
パスは「#!C:/Perl/bin/perl」で合っています。

記述方法のミスでしょうか?
教えて下さい!

A 回答 (1件)

なるほど、nameもデコードしちゃって日本語で扱うんですか。


国産ブラウザの特徴を活かした面白い使い方ですね。。

エラーでないで動きますよ?
チェック用にprintする際にHTTPヘッダの出力を行っていますか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!