#1159(海豚氏)の書き込みを引用します:
>凄い雪ですね!
>#1158(水原麗名とも呼ばれる人氏)の書き込みを引用します:
>>昔私がやったときは「名前の読み方を入力」でした。
>>
>>@name = unpack ('C*',$name);
>>while ($line = $name[$y++]){
>> if ($y % 2){
>> $line == 164 or return 0;
>> }else{
>> ($line <= 243 and $line >= 161) or return 0;
>> }
>>}
>>return 1;
>>文字コードをEUCに変換してからここに渡すとひらがな以外があると0を返します。
>
>ありがとうございます。
>私も、「名前の読み方を入力」を使用しようとしています。
>でも私には難しすぎるのですが・・・。
>上記のようにそのまま入れたらエラーになってしまいました何故でしょう?
>と言っても分からないですよね・・・。そのままじゃダメなのでしょうか?
>原因が分かるようでしたら御願い致します。
もしかしたらサブルーチンじゃないのが原因かもしれません。
ってことで当時書いたそのままのサブルーチンです。
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;
}
このサブルーチンが入っている状態で
入力を受けとった後で
$error = "名前の読みはひらがなだけです。" if (&yomi($yomigana) == 0);
とするとOKなはずです。
えんいー。</=>