+sub off_for_holidays {
+ $_[3] =~ /(\d\d\d\d)(\d\d)(\d\d)-(\d\d\d\d)(\d\d)(\d\d)/;
+ my $days = (timegm(0,0,0,$6,$5-1,$4) - timegm(0,0,0,$3,$2-1,$1))/3600/24;
+ my @firstday = localtime timelocal(0,0,0,$3,$2-1,$1);
+ my $firstday = sprintf("%04d%02d%02d",($firstday[5]+1900),($firstday[4]+1),$firstday[3]);
+ open(HOLIDAY, "today --category=holiday --date=$firstday+$days|") or return undef;
+ my @holidays=();
+ while(<HOLIDAY>) {
+ /^(\d\d)\/(\d\d) /;
+ push @holidays, "!".($firstday[5]+1900).$1.$2;
+ }
+ return wantarray ? @holidays : "@holidays";
+}
+