Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Sort an array which contains date formatted elements

by cdarke (Prior)
on Jul 17, 2007 at 13:26 UTC ( #627019=note: print w/ replies, xml ) Need Help??


in reply to Sort an array which contains date formatted elements

Alternatively use a custom sort. It is a little more complicated than normal because of the date format. For example:

use strict; my @files = qw (webadmin_jul_10_2007.log webadmin_jul_11_2007.log webadmin_jul_12_2007.log webadmin_jul_13_2007.log webadmin_jul_14_2007.log webadmin_jul_7_2007.log webadmin_jul_8_2007.log webadmin_jul_9_2007.log); sub bydate { # Extract non-numeric and date # Assumes text after date is the same my ($afront, $aday, $ayear) = $a =~ /^([[:alpha:]_]+)(\d+)_(\d+)/; my ($bfront, $bday, $byear) = $b =~ /^([[:alpha:]_]+)(\d+)_(\d+)/; my $retn = ($afront cmp $bfront); $retn = ($ayear <=> $byear) if $retn == 0; $retn = ($aday <=> $bday) if $retn == 0; return $retn } my @sorted = sort bydate @files; local $" = "\n"; print "@sorted\n";


Comment on Re: Sort an array which contains date formatted elements
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2015-07-04 03:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (57 votes), past polls