Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

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

by MeowChow (Vicar)
on Jun 06, 2001 at 03:40 UTC ( #86067=note: print w/ replies, xml ) Need Help??


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

124 chars, using that set :)

sub state { pop=~/^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[STY]|LA|M[ADEINOST]| +N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$/ }
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print


Comment on Re: Re (tilly) 2: Golf challange: match U.S. State names
Download Code
Re (tilly) 4: Golf challange: match U.S. State names
by tilly (Archbishop) on Jun 06, 2001 at 06:20 UTC
    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/ }
      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
Re: Re: Re (tilly) 2: Golf challange: match U.S. State names
by bwana147 (Pilgrim) on Jun 06, 2001 at 12:45 UTC

    And 2 characters less by group the first letters too:

    sub state { pop=~/^(A[KLRZ]|C[AOT]|D[CE]|I[ADLN]|K[STY]|M[ADEINOST]|N[CDEHJMVY +]|O[HKR]|S[CD]|T[NX]|V[AT]|[GLP]A|[HR]I|FL|UT|W[AIVY])$/ }

    --bwana147

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2015-07-05 13:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls