Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Sorting Dates

by Moron (Curate)
on Nov 24, 2005 at 11:14 UTC ( [id://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; }

-M

Free your mind

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (7)
As of 2024-04-18 17:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found