#!/usr/bin/perl -w
use Data::Dumper;
use Date::Calc qw/Day_of_Week Days_in_Month/;
use strict;
print STDOUT Dumper(&calendar_array);
exit 0;
sub calendar_array (;$$) {
my $year = ($_[0] =~ /^\d{4}$/) ? $_[0] : (((localtime)[5]) + 1900
+);
my $month = (($_[1] =~ /^\d+$/) && (($_[1] > 0) && ($_[1] < 13)))
+? $_[1] : (((localtime)[4]) + 1);
my (@calendar, @output);
my $day = 1 - Day_of_Week($year, $month, 1);
while ($#calendar < 41) {
push (@calendar, (($day <= 0) || ($day > Days_in_Month($year,
+$month))) ? '' : $day);
++$day;
}
for (my $row = 0; $row < 6; $row++) {
my @columns;
for (my $col = 0; $col < 7; $col++) {
push (@columns, {
'day' => $calendar[$row * 7 + $col],
});
}
push (@output, {
'row' => \@columns
});
}
return \@output;
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|