my $start_year = 2003; my $actual_year = 2004; my $actual_month = 3; while ( $start_year <= $actual_year ) { foreach ( my $i=1;$i<13;$i++ ) { if (( $actual_month > $i ) && ( $start_year == $actual_year )) { push @A0A2, [$start_year,$i]; } elsif ( $start_year != $actual_year ) { push @A0A2, [$start_year,$i]; } } $start_year++; }