in reply to sorting mm/dd/yy

alakaboo mentions Date::Manip which is an excellent module but is very much a heavyweight module (in fact, the POD for Date::Manip even recommends not to use it if you're looking for simple date transformations of the form you're looking for). Try using Time::ParseDate which is much more lightweight and does exactly what you're looking for too much else. Combine it with a Schwartzian transform (see merlyn's post above) like so:
use Time::Parsedate; ... foreach my $day ( map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_, parsedate( $_ ) ] } @dates ) { ... }
And that will be all she wrote. parsedate() from Time::Parsedate is pretty speedy and comparing the dates using a simple numeric compare is probably going to be faster than using Date_Cmp() (parsedate() returns numeric timestamps).