#!/usr/bin/perl
use strict;
use warnings;

my %monthmap = ( JAN => '01', FEB => '02', MAR => '03', APR => '04',
                 MAY => '05', JUN => '06', JUL => '07', AUG => '08',
                 SEP => '09', OCT => '10', NOV => '11', DEC => '12' );

my %reversemap = reverse %monthmap;


my @sorted =
  map { s|(\d{4})(\d{2})(\d{2})(\d{4})|$3${reversemap{$2}}$1.$4|; $_ }
  sort
  map { s|(\d{2})(\w{3})(\d{4})\.(\d{4})|$3${monthmap{$2}}$1$4| ; $_ }
  map { chomp ; $_ } <DATA>;

print join("\n",@sorted),"\n";

__DATA__
19JAN2006.1503
03JAN2006.1647
25DEC2001.0001
19DEC2004.0530
24MAR2003.1115
21MAY2003.0554

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to