use Time::Piece; my $t = localtime; my $last = $t->month_last_day; $t -= Time::Piece::ONE_DAY * ($t->mday - 1); for (1..$last) { printf "%s, %s %d, %d\n\n\n", $t->fullday, $t->fullmonth, $t->mday, $t->year ; $t += Time::Piece::ONE_DAY; }