#!/usr/bin/env perl my (@months) = qw(APR12 MAR13 APR11 MAR12 FEB13 APR13); my @mon = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ); my $mon; @{$mon}{@mon} = ( 0 .. $#mon ); sub by_month { $mon->{$a} <=> $mon->{$b}; } @months = ( sort by_month @months ); print "@months\n";