use Date::Calc qw( Monday_of_Week Today Date_to_Text Week_of_Year Weeks_in_Year ); sub shoot_down { "I don't like $_[0]!\n" } my ($y,$m,$d) = Today(); for (Week_of_Year($y,$m,$d) .. Weeks_in_Year($y)) { print shoot_down(Date_to_Text(Monday_of_Week($_,$y))); }