$ perl -Mstrict -Mwarnings -E ' my @dates = qw{ 12112014 01052015 02202015 03102015 01012011 04092015 09092015 }; say for map { substr $_, 8 } sort map { join q{}, ( unpack q{a2a2a4}, $_ )[ 2, 0, 1 ], $_ } @dates;' 01012011 12112014 01052015 02202015 03102015 04092015 09092015 $