$ perl -Mstrict -Mwarnings -le '
my @xml_paths = qw{
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
};
my %latest;
for (@xml_paths) {
m{(.+\/)([^\/]+)};
$latest{$2} = $1 if ! $latest{$2} || ($latest{$2} cmp $1) < 0;
}
print for sort map { "$latest{$_}$_" } keys %latest;
'
20130211/ABC/input/daily/11337111.xml
20130416/ABC/input/daily/11337101.xml
20130614/ABC/input/daily/11337890.xml
####
#!/usr/bin/perl
open(INFO,"$ARGV[0]");
@array=;
close (INFO)
####
#!/usr/bin/perl
use strict;
use warnings;
use autodie;
open my $input_fh, '<', $ARGV[0];
my @xml_paths = <$input_fh>;
close $input_fh;