プロが教えるわが家の防犯対策術!

全く想像がつかないので、ご回答お願いいたします。

現在Perlで簡単なプログラムを作成しているのですが、全角で何かを入力するとプログラムがフリーズしてしまいます。これを防ぐために、半角の英数字以外の入力をシャットアウトしたいのですが、その判定をするにはどういうプログラムを入れればよいでしょうか。

データはPOSTで送っており、運用上、全角文字だけでなく、できれば半角カナも排除したいのですが……。
よろしくお願いいたします。

A 回答 (1件)

$strに半角英数字以外の文字が含まれたらexitするコードはこんな感じです。


改行もスペースも@なんかもexitされますのでご注意。

if ($str =~ /[^0-9A-Za-z]/) {exit;}

ただ、フリーズするということはどこかに地雷が眠っているということでもあるので、これを機会にどこでフリーズしているかは調べておいたほうが良いですよ。地雷を踏ませないようにするよりも、地雷そのものを処置したほうが安心ですし。
    • good
    • 0
この回答へのお礼

ありがとうございました、おかげでうまくいきました^^
フリーズについてですが、友達がデバッグしてくれてたので詳しいことがわからなかったのですが、よく調べてみるとフリーズはしていないことがわかりましたので、これに関しても問題はなさそうです。
本当にありがとうございました。

お礼日時:2003/12/18 11:32

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