Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: sort based on last and first value

by 2teez (Priest)
on Aug 26, 2013 at 11:02 UTC ( #1050941=note: print w/replies, xml ) Need Help??


in reply to sort based on last and first value

Hi, I really don't understand what you want but from, your desired output, I suppose you want to sort your files in the directory which has the same names ( about three files names with different date tags ), but different date tag.
Then get the latest of these files based on the date.
If an right, this is one way of doing that.

use warnings; use strict; my %report = map { $_->[2] => $_->[0] } sort { $a->[1] <=> $b->[1] || $b->[2] <=> $a->[2] } map { [ $_, /^(\d+?)\/.+\/(\d+?)\./ ] } <DATA>; print $report{$_}, $/ for reverse keys %report; __DATA__ 20120824/ABC/input/daily/11337111.xml 20120710/ABC/input/daily/11337101.xml 20120330/ABC/input/daily/11337111.xml 20130614/ABC/input/daily/11337890.xml 20130120/ABC/input/daily/11337111.xml 20120206/ABC/input/daily/11337111.xml 20121005/ABC/input/daily/11337890.xml 20130110/ABC/input/daily/11337111.xml 20120923/ABC/input/daily/11337111.xml 20130416/ABC/input/daily/11337101.xml 20120404/ABC/input/daily/11337111.xml 20130211/ABC/input/daily/11337111.xml
produces...
20130211/ABC/input/daily/11337111.xml 20130416/ABC/input/daily/11337101.xml 20130614/ABC/input/daily/11337890.xml

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1050941]
help
Chatterbox?
[ambrus]: Corion: really? Does that mean the Prima watcher objects behave as handles that stop the watcher when they're destroyed, just like AnyEvent expects?
[ambrus]: "all the bugs" -- hehe, good luck
[ambrus]: Corion: what I don't understand is, if you make a one-shot AnyEvent timer with short timeout, does this code guarantee that the Prima timer can't queue two timeout events before invoking any of them?
[ambrus]: Because that could break AnyEvent code, which is why I added a guard.
[ambrus]: (It might be easier to use the callback scalar as a guard, as in $c and &$c(); $c = ();)

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2016-12-09 09:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (150 votes). Check out past polls.