use Modern::Perl; use DateTime; my @pressReleasesLinks; # my @pressReleases = <*.pdf>; #read press release dir my @pressReleases = ; for my $i ( 1 .. 12 ) { for ( sort grep { /-(\d{2})-/; $1 == $i } @pressReleases ) { chomp; my ( $year, $month, $day ) = split '-', (/([^.]+)/)[0]; $day = $day + 0; my $monthName = DateTime->new( year => $year, month => $month )->month_name; $pressReleasesLinks[ $i - 1 ] .= qq|$monthName $day, $year\n|; } } do { say $pressReleasesLinks[$_] if defined $pressReleasesLinks[$_] } for 0 .. 11; # Updated: in case a month is skipped __DATA__ 2012-03-15.pdf 2012-03-05.pdf 2012-05-20.pdf 2012-05-01.pdf 2012-05-15.pdf 2012-01-01.pdf 2012-01-15.pdf 2012-02-01.pdf 2012-02-15.pdf