use strict; use warnings; my @startDates = qw(01-06-2007 01-08-2006 01-06-2006 01-07-2007 06-01-2007); my $leastDate = ( map {join q{-}, reverse split /-/} sort map {join q{-}, reverse split /-/} @startDates )[0]; print qq{Least date is $leastDate\n}; #### Least date is 01-06-2006