Perl isn't my expertise, but I've always used
Date::Manip, mostly because I'm lazy and find it really easy to use. Even it's own documentation, however, says it should be avoided because it's bloated and slow. (But hey, some would say the same about me

). I think
Time::JulianDay, would work, though obviously there's parsing to be done on the MT date stamp:
CODE
$jd = julian_day($year, $month_1_to_12, $day)
$dow = day_of_week($jd)
And, of course, getting away from Time:Local means adding yet another required module.