Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re: Sorting Dates

by Moron (Curate)
on Nov 24, 2005 at 11:14 UTC ( #511406=note: print w/replies, xml ) Need Help??

in reply to Sorting Dates

Given that the dates are in one format but need to be sorted as if in another, you just need to control the behaviour of sort by inserting a sort block immediately after the sort keyword (see also sort command syntax). In this case it is also a good idea to make a separate reformatting subroutine - the conversion to dd/mm/yyyy you carry out earlier might also be yet another formatting subroutine if you want your code to look more readable. (updated to show a simple way to get the last date)
my $lastdate; foreach my $date # n.b. $a and $b interpreted specially in a sort block ( sort { sFormat( $a ) <=> sFormat( $b ) } keys %datecount ) { print "\n", $date, ": ", $datecount{$date}; $lastdate = $date; # overwritten in order until last } sub sFormat { # convert dd/mm/yyyy into yyyymmdd my $old = shift; $old =~ /^(\d{2})\/(\d{2})\/(\d{4})$/ or die "Programming error: Invalid format $old\n"; return $3 . $2 . $1; }


Free your mind

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://511406]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2020-10-31 08:18 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (287 votes). Check out past polls.