sub has_alpha { local $_ = shift; my %c; @c{ unpack "(A1)*", $_ } = ( 1 ) x length; $_ && return 1 for @c{ 'A'..'Z', 'a'..'z' }; return; }