+++ /dev/null
-package HTML::CalendarMonth::DateTool::Cal;
-{
- $HTML::CalendarMonth::DateTool::Cal::VERSION = '1.26';
-}
-
-# Interface to unix 'cal' command
-
-use strict;
-use warnings;
-use Carp;
-
-use base qw( HTML::CalendarMonth::DateTool );
-
-sub dow1st_and_lastday {
- my($self, $month, $year) = @_;
- $month ||= $self->month;
- $year ||= $self->year;
- my $cmd = $self->_cal_cmd or croak "cal command not found\n";
-
- my @cal = grep(!/^\s*$/,`$cmd $month $year`);
- chomp @cal;
- my @days = grep(/\d+/,split(/\s+/,$cal[2]));
- my $dow1st = 6 - $#days;
- my($lastday) = $cal[$#cal] =~ /(\d+)\s*$/;
- # With dow1st and lastday, one builds a calendar sequentially.
- # Historically, in particular Sep 1752, days have been skipped. Here's
- # the chance to catch that.
- $self->_skips(undef);
- if ($month == 9 && $year == 1752) {
- my %skips;
- grep(++$skips{$_}, 3 .. 13);
- $self->_skips(\%skips);
- }
- ($dow1st, $lastday);
-}
-
-1;