knoppix@Microknoppix:~$ perl -E ' > my @dates = qw{ > 20010405000000 > 20050405005000 > 20020405081200 > 20080405022500 > 20080405022600 > 20080405023500 > 20090405022500 > 20090405022300 > 20090405022900 > 20090405022100 > }; > > say for > map { substr $_, 8 } > sort > map { pack q{NNA*}, 0 - substr( $_, 0, 8 ), 0 + substr( $_, 8 ), $_ } > @dates;' 20090405022100 20090405022300 20090405022500 20090405022900 20080405022500 20080405022600 20080405023500 20050405005000 20020405081200 20010405000000 knoppix@Microknoppix:~$