note tilly Your subroutine will accept "AK\n" as a state. Fixing
that takes it to 125. But I can beat that with the following 122
character solution (which is what I was trying to figure out
when I posted my first): <code> sub state{
$_[0]=~/^\w\w\z/&&grep/$_[0]/,'WVTNHINMSCORIDCAKSDE WIALAR MNCTX
NVAZ','FLGAILKTKYMAMDMEMIMOMTNDNENJNYOHOKPAUTWAWY'=~/../g }
</code> OTOH I can improve your idea down to 119: <code> sub
state { pop=~/^([CGILPVW]A|[CKUV]T|[HRW]I|A[KLRZ]|CO|DC|DE|FL|I[
DLN]|KS|KY|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|SC|SD|TN|TX|WV|WY)\z/
} </code> 86047 86067