sub read_data(){
if ($ENV{'REQUEST_METHOD'} eq "POST") {
# 読み込まれたデータのサイズチェック
if ($ENV{'CONTENT_LENGTH'} > 1300) {
&error("入力された文字数が多すぎます。");
}
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
&error("この呼び出し方法は許可されていません。");
}
foreach (split(/&/, $buffer)) {
($keyword, $value) = split(/=/); $value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# S-JISコード変換
&jcode'convert(*value, "sjis", "", "z");
$value =~ s/&/&/g; # アンパサンド
$value =~ s/"/"/g; # 括弧のエスケープ
$value =~ s/\,/,/g; # カンマのエスケープ
$value =~ s/</</g; # タグの排除
$value =~ s/>/>/g; # タグの排除
if ($keyword eq "comment"){
$value =~ s/\r\n/
/g; # 改行の処理
$value =~ s/\r/
/g;
$value =~ s/\n/
/g;
}else{
$value =~ s/\r//g;
$value =~ s/\n//g;
}
$FORM{$keyword} = $value;
}
}