#!/usr/bin/perl -w use strict; use DateTime; my ($start, $end, @dates); $start = DateTime->new(day => 1, month => 1, year => 2017); $end = DateTime->new(day => 31, month => 1, year => 2017); while ($start <= $end) { # Skip weekends if ($start->day_of_week() > 5) { push(@dates, $start); } $start = $start->add(days => 1); } for (@dates) { print $_, $/; }