Календарь

Модератор: Модераторы разделов

Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Календарь

Сообщение agbr »

нужно написать календарь, примерно такой:

Код: Выделить всё

#!/usr/bin/perl

use Time::Local 'timelocal_nocheck';

sub cal($$){
    my ($month,$year)=@_;
    my $ret;
    my ($sec,$min,$hour,$day,$month,$year,$wday,$yday,$isdst)=localtime(timelocal_nocheck(0,0,0,1,$month-1,$year));
    $wday=($wday==0 ? 6 : $wday - 1);
    $ret.="   " x $wday;
    my $i = $wday;
    foreach (1 .. 31) {
        ($sec,$min,$hour,$day,$month,$year,$wday,$yday,$isdst)=localtime(timelocal_nocheck(0,0,0,$_,$month,$year));
        last if( $day != $_ );
        $ret.=sprintf("%02d ", $day);
        $ret.="\n" if( ++$i % 7 == 0);
    }
    chomp($ret);
    return $ret."\n";
}

my ($m,$y)=@ARGV;
print cal($m,$y);


только как это сделать, чтобы покороче было?
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали: