ありがとうございます。
英字を入力して試してみました。
「sub yomi」は通っているようですがそのまま行ってしまいました。
以下内容です。
ご教授の程宜しく御願い致します。
=================================
if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }
if ($buffer eq "") { &error('エラー','使い方が間違っています.'); }
@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;
&jcode'convert(*value,'euc');
# &jcode'convert(*value,'sjis');
$value =~ s/
/g;
$value =~ s/\r//g;
$value =~ s/\t//g;
$value =~ s/\,//g;
$FORM{$name} = $value;
}
#入力チェック
$FORM{'q01'} =~ s/ //g;
$FORM{'q01'} =~ s/ //g;
if ($FORM{'q01'} eq "") { &error('入力エラー','氏名が入力されてません。'); }
$FORM{'q02'} =~ s/ //g;
$FORM{'q02'} =~ s/ //g;
$yomi = $FORM{'q02'};
$error = "名前の読みはひらがなだけです。" if (&yomi($yomigana) == 0);
if ($FORM{'q02'} eq "") { &error('入力エラー','ふりがなが入力されてません。'); }
・
・
・
・
・
sub yomi{
local($yomi) = @_;
jcode::convert(*yomi,"euc");
@name = unpack ('C*',$yomi);
while ($line = $name[$y++]){
if ($y % 2){
$line == 164 or return 0;
}else{
($line <= 243 and $line >= 161) or return 0;
}
}
return 1;
}
==================================</=>