#! /usr/bin/perl use strict; use warnings; use Date::Calc 'Add_Delta_Days'; my ($day, $month, $year, $dow) = (localtime)[3, 4, 5, 6]; $year += 1900; $month += 1; my $this_year = $year; ($year, $month, $day) = Add_Delta_Days($year, $month, $day, (8 - $dow) % 7); while ($this_year == $year) { printf "%04d-%02d-%02d\n", $year, $month, $day; ($year, $month, $day) = Add_Delta_Days($year, $month, $day, 7); }