- ベストアンサー
Perlで半角英数字以外の入力を拒否するには
全く想像がつかないので、ご回答お願いいたします。 現在Perlで簡単なプログラムを作成しているのですが、全角で何かを入力するとプログラムがフリーズしてしまいます。これを防ぐために、半角の英数字以外の入力をシャットアウトしたいのですが、その判定をするにはどういうプログラムを入れればよいでしょうか。 データはPOSTで送っており、運用上、全角文字だけでなく、できれば半角カナも排除したいのですが……。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
$strに半角英数字以外の文字が含まれたらexitするコードはこんな感じです。 改行もスペースも@なんかもexitされますのでご注意。 if ($str =~ /[^0-9A-Za-z]/) {exit;} ただ、フリーズするということはどこかに地雷が眠っているということでもあるので、これを機会にどこでフリーズしているかは調べておいたほうが良いですよ。地雷を踏ませないようにするよりも、地雷そのものを処置したほうが安心ですし。
お礼
ありがとうございました、おかげでうまくいきました^^ フリーズについてですが、友達がデバッグしてくれてたので詳しいことがわからなかったのですが、よく調べてみるとフリーズはしていないことがわかりましたので、これに関しても問題はなさそうです。 本当にありがとうございました。