my @sorted =
map substr($_, 8),
sort
map join('', (/(..)-(..)-(....)/)[2,1,0], $_),
@dates; # DD-MM-YYYY
####
#!/usr/bin/perl --
use strict;
use warnings;
use Data::Dumper;
my @dates = qw[
08-15-2011
08-10-2011
08-05-2011
];
print "\ndates ", Dumper( \@dates );
#~ my @firstTransform = map join('', (/(..)-(..)-(....)/)[2,1,0], $_), @dates; # DD-MM-YYYY
my @firstTransform = map join('', ReorderForCmp($_), $_), @dates; # DD-MM-YYYY
print "\nfirstTransform ", Dumper( \@firstTransform );
my @firstSorted = sort @firstTransform ;
print "\nfirsSorted ", Dumper( \@firstSorted );
my @finalTransform = map substr($_, 8), @firstSorted ;
print "\nfinalTransform ", Dumper( \@finalTransform );
sub ReorderForCmp {
my( $one ) = @_;
my @date = $one =~ /(..)-(..)-(....)/;
#~ return @date[2,1,0];
return $date[2], $date[1], $date[0];
}
__END__
####
dates $VAR1 = [
'08-15-2011',
'08-10-2011',
'08-05-2011'
];
firstTransform $VAR1 = [
'2011150808-15-2011',
'2011100808-10-2011',
'2011050808-05-2011'
];
firsSorted $VAR1 = [
'2011050808-05-2011',
'2011100808-10-2011',
'2011150808-15-2011'
];
finalTransform $VAR1 = [
'08-05-2011',
'08-10-2011',
'08-15-2011'
];