正規表現で半角英数記号の文字集合は [!-~] ならしい。なんて簡単高性能!!
含まれる文字は以下で出力可能
print join '',map {chr($_)} (33..126);
実は
print join('',('!'..'~'));
とかってやってみたw んだけどやっぱむりみたい。
使う時には、
my $str = '適当な文字列';
if($str =~ /^[!-~]+$/){
print "半角文字列だよ";
}else{
print "全角文字列が混じってるかも";
}
という感じ。
でもあんまり使わんかもなぁ。