Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Re: Re: Competition fuels obsession over Perl [golf]

by educated_foo (Vicar)
on Feb 19, 2004 at 16:56 UTC ( #330261=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Competition fuels obsession over Perl [golf]
in thread Competition fuels obsession over Perl

Oh, man I'm rusty. Here are a few minor tweaks. For the full version, one less:

$$_=lc=~y/aeiou//for@F;print"$$_ $_"for sort{$$b-$$a||$a cmp$b}@F
For the "less than ten vowels" version, you can also lose one by getting rid of that space after the "map{9-".

Finally, if they meant increasing order of vowel count and less than nine vowels, then we can do much better ;)

-an print sort map y/aAeEiIoOuU//." $_\n",@F


Comment on Re: Re: Re: Competition fuels obsession over Perl [golf]
Select or Download Code
Re: Re: Re: Re: Competition fuels obsession over Perl [golf]
by eyepopslikeamosquito (Canon) on Feb 19, 2004 at 21:13 UTC

    For the "less than ten vowels" version, you can also lose one by getting rid of that space after the "map{9-".

    Alas, Perl complains with Unrecognized file test: -y if you try that. However, using your lc trick saves two more strokes:

    print+map{/./;9-$&.$'}sort map{9-lc=~y/aeiou//." $_\n"}@F

    You could allow up to 90 vowels (at the cost of 3 strokes) by changing 9 to 99 and . to ..

      Hm... "9-y///" works fine on 5.8.3 for me, while 5.6.0 chokes. Nothing jumps out at me in perldelta, but it does mention that parsing of m// has changed.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2014-08-23 19:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (178 votes), past polls