sub dow { ($year, $month, $day) = @_; $year-- if $month < 3; return ($year+int($year/4)-int($year/100)+int($year/400)+((0,3,2,5,0,3,5,1,4,6,2,4)[$month-1])+$day) % 7; } print (('Sun','Mon','Tues','Wed','Thu','Fri','Sat')[dow(2002,07,12)]);