正規表現で、文字列は全て全角カタカナか?のチェック(Perl編)
UTF-8対応です。
$str = "アイウエオワイウエオン";
if ( $str =~ /^(?:\xE3\x82[\xA1-\xBF]|\xE3\x83[\x80-\xB6])+$/ ) {
print encode('shift-jis', decode('utf-8', "すべてが全角カタカナである\n"));
} else {
print encode('shift-jis', decode('utf-8', "全角カタカナでない文字がある\n"));
}
標準出力をUTF8→SJISに変換しているものは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。