Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re:**3 a different tack: "Countdown" (golf)

by jynx (Priest)
on Dec 02, 2001 at 04:34 UTC ( #128932=note: print w/replies, xml ) Need Help??

in reply to Re: andye - a different tack Re: "Countdown" (golf)
in thread "Countdown" (golf)

This is untested, but the following can probably happen:

Change the outer for loop to a map (1 character)
Change the /^$/ to just $_ (2 characters)
Change the @{$w[-1]} to @{pop@w} (1 character)
Drop the semi-colon after the inner for loop (1 character)

Which gives us:

#234567890123456789012345678901234567890123456789012345678901234567890 +12 map{$n=$o=$_;for$c(@_){$n+=s/$c//}$_&&push@{$w[$n]},$o}<D>;@{pop@w}
67 characters?

Replies are listed 'Best First'.
Re: Re:**3 a different tack: "Countdown" (golf)
by blakem (Monsignor) on Dec 02, 2001 at 07:26 UTC
    The map and pop suggestions work (very nice)... The $_ trick wont though, because (get this) $_ isn't actually empty at that point, it contains a single newline. Interestingly enough /^$/ will match a single newline.
    perl -le '$_ = "\n"; print /^$/' 1
    So, a tested version of your code comes in at 69 chars....
    # 1 2 3 4 5 6 #23456789012345678901234567890123456789012345678901234567890123456789 map{$n=$o=$_;for$c(@_){$n+=s/$c//}/^$/&&push@{$w[$n]},$o}<D>;@{pop@w}
    Update: The following code illustrates the issue a bit better...
    Notice how /^$/ && is not identical to $_ || and in this example the difference is critical:
    #!/usr/bin/perl -wT use strict; my @arr = ("\n","dog\n","cat\n"); my $patternmatch = 0; my $underscorematch = 0; /^$/ && $patternmatch++ for @arr; $_ || $underscorematch++ for @arr; print "Patternmatch = $patternmatch\n"; # <== prints 1 print "Underscorematch = $underscorematch\n"; # <== prints 0


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://128932]
[TCLion]: Good Morning Monks, I am parsing logs and some date time formats are inconsistent. I am trying to make output all same format. What is the best way to convert a month(word) to month(number)?
[Corion]: TCLion: I'm not aware of a better way than manually building the hash, as all strptime incarnations I know have nasty edge cases

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (15)
As of 2017-03-23 14:38 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (287 votes). Check out past polls.