my @years = (); my @years_loop = (); my $curr_year = (localtime)[5]; $curr_year += 1900; for ($curr_year - 100 .. $curr_year - 5) { push (@years, $_); } while (@years) { my %year_data; $year_data{year} = shift @years; push (@years_loop, \%year_data); } $template->param(years_loop => \@years_loop);