DynGig-Util
view release on metacpan or search on metacpan
lib/DynGig/Util/Calendar.pm view on Meta::CPAN
=head1 NAME
DynGig::Util::Calendar - Print calendar
=cut
package DynGig::Util::Calendar;
use strict;
use warnings;
use constant WEEK => 'Su Mo Tu We Th Fr Sa';
use constant MONTH => qw( _ January February March April May
June July August September October November December );
our ( $header, @header );
format MONTH_HEADER =
@|||||||||||||||||||||
$header
@|||||||||||||||||||||
WEEK
.
format QUARTER_HEADER =
@|||||||||||||||||||||@|||||||||||||||||||||@|||||||||||||||||||||
@header
@|||||||||||||||||||||@|||||||||||||||||||||@|||||||||||||||||||||
WEEK, WEEK, WEEK
.
format YEAR_HEADER =
@|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$header
.
=head1 SYNOPSIS
use DynGig::Util::Calendar;
DynGig::Util::Calendar->print
(
year => 2012,
month => 3,
handle => \*STDOUT,
select => \%select,
);
=cut
sub print
{
my ( $class, %param ) = @_;
my $select = $param{select};
my $handle = $param{handle} || \*STDOUT;
my $year = $param{year};
my $month = $param{month};
return if $select && ! ( $select = $select->{$year} );
return _print_month( $handle, $select, $year, $month ) if $month;
$header = $year;
$~ = 'YEAR_HEADER';
( run in 1.999 second using v1.01-cache-2.11-cpan-5a3173703d6 )