<?xml version="1.0" encoding="windows-1252"?>
<node id="627095" title="Re: Sort an array which contains date formatted elements" created="2007-07-17 14:29:03" updated="2007-07-17 10:29:03">
<type id="11">
note</type>
<author id="277600">
injunjoel</author>
<data>
<field name="doctext">
Late to the game I see, but for the sake of TIMTOWTDI here is my suggestion.
&lt;br/&gt;Use a [id://9108|Schwartzian Transform].
&lt;c&gt;
use Time::Local;

my %months;
@months{('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec')} = 0..11;
my @lines = 
	map{ $_-&gt;[1] }
	sort{
		$a-&gt;[0] &lt;=&gt; $b-&gt;[0]
	}
	map{
		chomp;
		my $val = $_;
		$val =~ s#webadmin_([^\.]+)\.log#my @t=split(/_/,$1);timelocal(0,0,0,$t[1],$months{$t[0]},($t[2]-1900))#e;
		[$val,$_];
	}&lt;DATA&gt;;
print "$_\n" for(@lines);
__DATA__
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
&lt;/c&gt;

The Output
&lt;c&gt;
webadmin_jul_7_2007.log
webadmin_jul_8_2007.log
webadmin_jul_9_2007.log
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

&lt;/c&gt;
&lt;br/&gt;&lt;br/&gt;
-InjunJoel&lt;br/&gt;
&lt;!-- Node text goes above. Div tags should contain sig only --&gt;
&lt;div class="pmsig"&gt;&lt;div class="pmsig-277600"&gt;
"I do not feel obliged to believe that the same God who endowed us with sense, reason and intellect has intended us to forego their use." -Galileo
&lt;/div&gt;&lt;/div&gt;</field>
<field name="root_node">
627012</field>
<field name="parent_node">
627012</field>
</data>
</node>
