use 5.010;
use strict;
use warnings FATAL => qw(all);
use DateTimeX::Auto qw(:auto);
{
# slightly evil, but works...
package DateTime;
use overload '~~', sub { $_[0]->ymd eq $_[1]->ymd }
}
my $not_business_days = [
sub { $_[0]->day_abbr =~ /^S/ }, # weekends
qw(
2012-01-02
2012-04-06
2012-04-09
2012-05-07
2012-06-04
2012-06-05
2012-08-27
2012-12-25
2012-12-26
),
];
my $date = '2012-01-01';
my $end = '2013-01-01';
while ($date < $end)
{
say $date->ymd("")
unless $date ~~ $not_business_days;
$date->add(days => 1);
}
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
|