my @sundays = ([]); my @date = (2005, 1, 1); $date[2]++ while Day_Of_Week(@date) != 7; DATE: { push @sundays, \@date; @date = Add_Delta_Days( @date, 7 ); last if $date[0] == 2006; redo DATE; } # Now, $sundays[1] == ( 2005, 1, 2 ) # $sundays[2] == (2005, 1, 9 ) # etc. #### my @sunday_date = Monday_of_Week(Week_of_Year( @starting_date )); $sunday_date[2]--;