前 | 2014年 7月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
日本語、Shift-JIS や EUC-JP、UTF-8 と色々ヤヤコシイのだが、今回は「半角だけなのかどうか」が基準だったので、以下の手法を用いた.
$buf =~ s/[\x00-x7F]//g;
要は 1byte文字コードを除去 した。 半角カナも、であれば [\x8E\xA1-\xFE] を使えば、ASCII文字を範囲にできる.
$buf が空になれば、半角「だけ」だったとなる。 そうで無ければ全角が含まれている.
UTF-8 を設定する、Encode モジュールを使う、などなど「環境」が要る系の解説が多いが、変換ではなく判断だけなら、こーゆーお手軽なのもありだよネ!