/usr/share/doc/libdate-pcalc-perl/examples/linearcal.pl is in libdate-pcalc-perl 6.1-4.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/usr/bin/perl -w
###############################################################################
## ##
## Copyright (c) 2001 - 2009 by Steffen Beyer. ##
## All rights reserved. ##
## ##
## This program is free software; you can redistribute it ##
## and/or modify it under the same terms as Perl itself. ##
## ##
###############################################################################
BEGIN { eval { require bytes; }; }
use strict;
use Date::Pcalendar::Profiles qw( $Profiles );
use Date::Pcalendar;
use Date::Pcalc::Object qw(:ALL);
sub print_linear_calendar
{
my(@start) = shift_date(\@_);
my(@stop) = shift_date(\@_);
my($lang) = shift;
my($prof) = shift;
my($newl) = Decode_Language($lang);
my($cal,$start,$stop,$oldl,$oldf,@labels,$dow,$day);
die "No such language '$lang'" unless ($newl);
die "No such calendar profile '$prof'"
unless (exists $Profiles->{$prof});
$cal = Date::Pcalendar->new( $Profiles->{$prof} );
$start = Date::Pcalc->new(@start);
$stop = Date::Pcalc->new(@stop);
$oldl = Language($newl);
$oldf = Date::Pcalc->date_format(1);
while ($start <= $stop)
{
@labels = $cal->labels($start);
$dow = substr(shift(@labels),0,3);
$day = $cal->is_full($start) ? "+" : $cal->is_half($start) ? "#" : "-";
print "$dow $start $day ", join(", ", @labels), "\n";
$start++;
}
Language($oldl);
Date::Pcalc->date_format($oldf);
}
unless (@ARGV == 8)
{
die "Usage: perl linearcal.pl YEAR1 MONTH1 DAY1 YEAR2 MONTH2 DAY2 LANGUAGE PROFILE\n";
}
print_linear_calendar( @ARGV );
__END__
|