Вы должны быть в состоянии использовать код, подобный следующему:
my $t = Time::Piece->strptime($string, "%H:%M:%S %m/%d/%y %Z");
Однако, по крайней мере, в моей системе я должен изменить часовой пояс MST на GMT, чтобы он совпадал;если я оставлю это, как в вашем примере, я получу ошибку:
Perl> my $t = Time::Piece->strptime("05:57:03 08/31/10 DST", "%H:%M:%S %m/%d/%y %Z");
[!] Runtime error: Error parsing time at /usr/local/lib/perl/5.10.0/Time/Piece.pm line 469.
Если это работает для вас, у вас будет объект Time :: Piece, для которого вы можете вызвать, например, $t->day_of_week
для дня недели в виде числа, $t->day
для, например, 'Tue' или $t->fullday
для, например, 'Tuesday'.
См. документацию для Time :: Piece подробности о методах, которые вы можете вызвать.