X-SEO

X-SEO > 技術メモ > Perl > 引数検査 > カタカナ検査

Perl

カタカナ検査

#===========================================================================*
# プログラム名  : カタカナ検査                                              *
# プログラムID  : CheckKatakana                                             *
# 使用例        : &CheckKatakana($_[0]);                                    *
#---------------------------------------------------------------------------*
# 入力引数[0]   : フリガナ                                                  *
# 入力引数[1]   : 文字コード                                                *
#---------------------------------------------------------------------------*
# 出力引数[0]   : エラー内容(無ければ異常なし)                            *
#===========================================================================*
sub CheckKatakana {
    #-------------------------------*
    # 変数宣言                      *
    #-------------------------------*
    my($RtnValue)   = $_[0];        # 戻り値用変数
    #-------------------------------*
    # 処理                          *
    #-------------------------------*
    if ($_[1] eq 'EUC') {
        $RtnValue   =~ s/(\xA5[\xA1-\xF6]|\xA1[\xA1-\xA3]|\xA1\xBC| )//g;
        return ($RtnValue) ? 'カタカナ以外の文字が含まれています' : undef;
    } elsif ($_[1] eq 'SJIS') {
        $RtnValue   =~ s/(\x83[\x40-\x96]|\x81[\x40-\x42]|\x81\x5B| )//g;
        return ($RtnValue) ? 'カタカナ以外の文字が含まれています' : undef;
    }
    #-------------------------------*
    return;
}