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

Re: Sorting a textfile by a date field

by Zaxo (Archbishop)
on Oct 01, 2003 at 01:49 UTC ( [id://295521]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to Sorting a textfile by a date field

Does your format example say Jan 9 or Sep 1? Whichever it is, transform to iso standard format (YYYY-MM-DD) and dictionary sort,

sub to_iso { join '-', reverse split '-', shift; # otherwise, # join '-', (split '-', shift)[2,0,1]; } sub from_iso { join '-', reverse split '-', shift; # otherwise, # join '-', (split '-', shift)[1,2,0]; } # @data is all your records as an AoA my @sorted = map { $_->[7] = from_iso($_->[7])} sort {$a->[7] cmp $b->[7]} map { $_->[7] = to_iso($_->[7])} @data;
The maps surrounding the sort routine serve to reduce the number of calls to to_iso(). That pattern is called the Schwartzian Transform, an idiom worth understanding.

After Compline,
Zaxo

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://295521]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.