file_name_201212 file_name_201301 file_name_201302 file_name_201303 file_name_201304 file_name_201305 file_name_201306 file_name_201307 file_name_201308 file_name_201309 file_name_201310 file_name_201311 #### #!/usr/bin/perl use strict; use warnings; use POSIX qw/strftime/; my $this_year = strftime('%Y',localtime); my $dates = build_file_names(); foreach my $new_file_names (@$dates) { print " $new_file_names\n"; } sub build_file_names { my $last_year = $this_year-1; my $stop_date = $this_year."12"; my @db_date; for my $year ($this_year..$this_year) { for my $month (1..12) { my $db_date = sprintf "%d%02d", $year,$month; last if ($db_date eq "$stop_date"); push @db_date, "file_name_".$db_date; } } unshift (@db_date, "file_name_".$last_year."12"); return (\@db_date); } # End sub build_file_names