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

sub decode {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
if ($ENV{'CONTENT_LENGTH'} > 51200) { &error("投稿量が大きすぎます"); }
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
else {
$buffer = $ENV{'QUERY_STRING'};
}

@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$in{$name} = $value;
}
while (($k,$v) = each %in) {
$v =~ s/&/&/g;
$v =~ s/</&lt;/g;
$v =~ s/>/&gt;/g;
$v =~ s/"/&quot;/g;
$in{$k} = $v;
}

}
上記の処理が、具体的にどうなっているのかよくわかりません。
どなたか分かる方、説明をお願いします。

A 回答 (1件)

デコードには違いありませんが


フォームからPOSTまたはGETメソッドで送られたデータを
連想配列に%inに格納して
値にタグ埋め込みのように確認表示時などに問題となる文字をHTMLの特殊文字コードに変換している
というもの(サブルーチン)です。
    • good
    • 0

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