in reply to Re: Sorting Dates Issue
in thread Sorting Dates Issue

Yes it works, how could this code do the sorting in reverse, I mean the most recent date on top?
use strict; my @dates = qw{ 10/02/2004 02/01/2004 01/02/2004 08/18/2010 01/06/2004 01/02/2005 01/12/2004 }; my @sorted= map { substr $_, 8 } sort map { join q{}, ( split m{/} )[ 2, 0, 1 ], $_ }@dates;

Thanks!

Replies are listed 'Best First'.
Re^3: Sorting Dates Issue
by johngg (Canon) on Aug 18, 2010 at 22:54 UTC

    Once the elements to be sorted have been combined into a single string it is just a lexical sort so you can use a simple anonymous routine to reverse the order.

    knoppix@Microknoppix:~$ perl -E ' > @dates = qw{ > 10/02/2004 > 02/01/2004 > 01/02/2004 > 01/06/2004 > 01/02/2005 > 01/12/2004 > 08/18/2010 > }; > say for > map { substr $_, 8 } > sort { $b cmp $a } > map { join q{}, ( split m{/} )[ 2, 0, 1 ], $_ } > @dates;' 08/18/2010 01/02/2005 10/02/2004 02/01/2004 01/12/2004 01/06/2004 01/02/2004 knoppix@Microknoppix:~$

    Cheers,

    JohnGG