- 締切済み
デコード処理について
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/</</g; $v =~ s/>/>/g; $v =~ s/"/"/g; $in{$k} = $v; } } 上記の処理が、具体的にどうなっているのかよくわかりません。 どなたか分かる方、説明をお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ralf124c
- ベストアンサー率52% (232/446)
回答No.1
デコードには違いありませんが フォームからPOSTまたはGETメソッドで送られたデータを 連想配列に%inに格納して 値にタグ埋め込みのように確認表示時などに問題となる文字をHTMLの特殊文字コードに変換している というもの(サブルーチン)です。