#!/usr/bin/perl use strict; use warnings; use POSIX qw(strftime); use Time::ParseDate; die "Need year!\n" unless @ARGV; my $time_t = parsedate("01/01/" . $ARGV[0]); $time_t += 86400 until ((localtime($time_t))[6] == 1); print map { strftime("%F\n", localtime($_)) } grep { (((localtime($_))[5] + 1900) == $ARGV[0]) } $time_t + 86400 * 7 * $_ for (0 .. 53);