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 )