#!/usr/bin/perl -w

sub floor { int( ( $_[0] - int($_[0])) + 1 ) + int($_[0]) - 1 }

@weekdays = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);

# $day should be between 1 and 31.
# $month should be between 1 and 12.
# $year should be the complete year.
#
sub weekday {
    my ($day, $month, $year) = @_;
    my ($century) = int($year / 100);
    $year %= 100;
    if ($month < 3) {
        $month += 10;
        $year--;
    } else { $month -= 2 }
    return $weekdays[ ($day
                       + floor(2.6 * $month - 0.2)
                       - (2 * $century)
                       + $year
                       + floor($year / 4)
                       + floor($century / 4)) % 7 ];
}

print weekday( 31, 12, 2000 ), "\n";




