Календарь на Perl
Главная → Статьи → Календарь на Perl
Для работы потребовался список недель, долго думал, как же его организовать и в итоге получился простенький календарик
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use Time::Local;
print "Content-type: text/htmlnn";
my @months = ('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
my $dt = time;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$dt = timelocal(0,0,0,1,0,$year);
my $i=0;
my $m=1;
my $w=1;
my $month_changed=0;
my $day_color='white';
print '<table cellspacing=0 border=0 ><tr>';
for ($i= 0; $i<365+(($year%4 == 0)?1:0); $i++)
{
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($dt+$i*86400);
if ($mon != $m) {
$m=$mon;
$month_changed=1;
if ($m % 2 == 0) {
$day_color='#f0f0f0';
}
else {
$day_color='white';
}
}
if ($i == 0) {
print '</tr><tr><td style="background-color: '.$day_color.'"><input type="checkbox" id="wid_'.($w).'"></td>';
for (my $t=1;$t<$wday;$t++) { print '<td style="background-color: '.$day_color.'"> </td>';}
}
print '<td style="background-color: '.$day_color.';text-align: right"><label for="wid_'.($w).'">'.$mday.'</label></td>';
if($wday == 0) {
if ($month_changed eq 1) {$month_changed=0; print '<td><b> '.@months[$mon].'</b></td>';};
$w++;
print '</tr><tr><td style="background-color: '.$day_color.'"><input type="checkbox" id="wid_'.($w).'"></td>';
}
}
print '</table>';
Реклама: Ольга Володарская - это писатель с большой буквы. Скачивайте книги на www.litres.ru!
Другие материалы:
Комментарии:
Maxim:
2011-05-02 12:59:50
Очень иронично смотрятся вместе ссылка на "Шаблонизатор в CTPP2" в "Других материалах" и print'ы html'а в коде... =)
zoonman:
2011-05-02 13:18:56
Календарик появился до статьи про шаблонизатор.
имя:
e-mail (не публикуется):
комментарий:
e-mail (не публикуется):
комментарий: