半角英数記号

正規表現で半角英数記号の文字集合は [!-~] ならしい。なんて簡単高性能!!
含まれる文字は以下で出力可能

print join '',map {chr($_)} (33..126);

実は

print join('',('!'..'~'));

とかってやってみたw んだけどやっぱむりみたい。

使う時には、

my $str = '適当な文字列';
if($str =~ /^[!-~]+$/){
  print "半角文字列だよ";
}else{
  print "全角文字列が混じってるかも";
}

という感じ。
でもあんまり使わんかもなぁ。