半角英字のみかチェックする - Perl

何らかの事情により、半角の英語つまりアルファベット(a~z、A~Z)のみかをチェックしたい場合、どのようにしたら良いだろうか?これも正規表現で解決できる。

サンプル

;#
;#入力チェック
;#

if( isAlpha('123') ){
  print "アルファベットだけ\n";
}
else{
  print "アルファベット以外\n";
}


#---------------------------------------
#英字のみかチェックする
#---------------------------------------
sub isAlpha{
  my $str = shift || return(undef);

  #-- 英字のみか --#
  if( $str =~ /^[a-zA-Z]{1,}$/ ){
    return(1);
  }
  #-- 英字以外が含まれる --#
  else{
    return(0);
  }
}

{1,}」は1以上という意味の量指定子を用いているが、「[a-zA-Z]+」などのように「+」で表現しても良い。ただ個人的には見た瞬間に理解できる方がオススメ。

小文字だけ、大文字だけといったチェックにしたい場合には、[a-zA-Z]の部分を[a-z]ないし[A-Z]とすれば良い。