in reply to Golfing the day of Christmas
in thread Christmas Coding Blues

Some simple squishing down to 49 char:
sub f { #234567890#234567890#234567890#234567890#234567890# $b=1;$b+=1+!$_%4-!$_%100+!$_%400for(1..pop);$b%=7 }
UPDATE - I was just compression what the parent post had, making sure my answer gave the same as that one, but not looking at the real answer. As pointed out below, '!' binds higher than '%', and thus the answer this gives is wrong. Adding parens, and the fix that japhy adds brings this to 53:
sub f { #234567890#234567890#234567890#234567890#234567890#23 $b=1;$b+=1+!($_%4)-!($_%100)+!($_%400)for 1..pop;$b%7 }

-----------------------------------------------------
Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
"I can see my house from here!"
It's not what you know, but knowing how to find it if you don't know that's important

Replies are listed 'Best First'.
Re: Re: Golfing the day of Christmas
by japhy (Canon) on Dec 13, 2001 at 20:56 UTC
    Sorry, Masem. I trimmed it down to 47. Hey! 47!
    sub f { #234567890#234567890#234567890#234567890#234567890# $b=1;$b+=1+!$_%4-!$_%100+!$_%400for 1..pop;$b%7 }

    _____________________________________________________
    Jeff[japhy]Pinyan: Perl, regex, and perl hacker.
    s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;