Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re (tilly) 4: Golf challange: match U.S. State names

by tilly (Archbishop)
on Jun 06, 2001 at 06:20 UTC ( [id://86101]=note: print w/replies, xml ) Need Help??


in reply to Re: Re (tilly) 2: Golf challange: match U.S. State names
in thread Golf challange: match U.S. State names

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):
sub state{ $_[0]=~/^\w\w\z/&&grep/$_[0]/,'WVTNHINMSCORIDCAKSDE WIALAR MNCTX NVAZ' +,'FLGAILKTKYMAMDMEMIMOMTNDNENJNYOHOKPAUTWAWY'=~/../g }
OTOH I can improve your idea down to 119:
sub state { pop=~/^([CGILPVW]A|[CKUV]T|[HRW]I|A[KLRZ]|CO|DC|DE|FL|I[DLN]|KS|KY|M[A +DEINOST]|N[CDEHJMVY]|O[HKR]|SC|SD|TN|TX|WV|WY)\z/ }

Replies are listed 'Best First'.
Re: Re (tilly) 4: Golf challange: match U.S. State names
by MeowChow (Vicar) on Jun 06, 2001 at 08:54 UTC
    Your first one can go down to 121:
    sub state{ grep$_[0]eq$_,'WVTNHINMSCORIDCAKSDE WIALAR MNCTX NVAZ'=~/(?=(\w\w))/ +g,'FLGAILKTKYMAMDMEMIMOMTNDNENJNYOHOKPAUTWAWY'=~/../g }
    ... or you could have just taken the easy route by converting the && into an &.
       MeowChow                                   
                   s aamecha.s a..a\u$&owag.print

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://86101]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2024-04-20 03:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found