Or 105:
print
/^..\z/&("MNCAKSCOHINMOKTNVALARIDCTX
SDE
GAZ
ORIL"=~/$_/|
/FL|IA|KY|M[ADEIST]|N[DEHJY]|PA|[UV]T|W[AIVY]/)
for qw(AK AL AR AZ CA CO CT DC DE FL GA HI IA ID IL IN KS
KT KY LA MA MD ME MI MN MO MS MT NC ND NE NH NJ NM
NV NY OH OK OR PA RI SC SD TN TX UT VA VT WA WI WV
WY MY MNC .* ), " SD", "AZ\n"
(Dropping the inner parens around the or-chain and disregarding the state of NN which is not being honored today.)
OOPSDATE: Yep, matches if $_='.*' (see
runriq immediately below and slightly to the right). 
It needs
/\Q$_/, as so often happens, which defeats the character savings.  I was looking at the \w as avoiding matching the spaces (which it also does).    (Oh, and thanks
runriq and I'm sorry too!)
 
p