base.pl


Übersicht

base.pl --help | --version

base.pl [ --verbose ... | --no_verbose ]
[ --country COUNTRY ]... [ --out OUT ] [ --year YEAR ]
[ --f F ]... [ --w W ]... [ --ft FT ]
[ --mode { h7 | h14 | v7 | v14 } ]...
[ --monmode { de | num | i } ]
[ --wd | --no_wd ] [ --moncol | --no_moncol ] [ --weekno | --no_weekno ]

Optionen

--help

Gibt eine kurze Hilfe aus

--version

Gibt kurze Hinweise zum Programm und die Version aus.

--verbose

Erhöht den Umfang der Meldungen nach STDERR.

--no_verbose

Unterdrückt die Ausgabe von Meldungen. Die Optionen --verbose und --no_verbose werden der Reihe nach ausgewertet.

--country COUNTRY

Der Wert COUNTRY ersetzt den Platzhalter ${ctry} im Pfad der Ausgabedatei OUT. Wenn das Argument mehrfach verwendet wird, wird für jeden Wert COUNTRY eine Ausgabedatei erstellt. COUNTRY ist hier die Kennung eines Landes oder einer Region.

--out OUT

OUT ist der Pfad einer Ausgabedatei. Er kann die Platzhalter ${year} für das Kalenderjahr und ${ctry} für die Kennung des Landes (COUNTRY) enthalten sowie die Platzhalter ${monmode}, ${[cnt]wd}, ${[cnt]moncol}, ${[cnt]weekno} für die entsprechenden Befehlszeilenargumente Bei mehreren Ländern sollte er den Platzhalter ${cntry} enthalten.

--year YEAR

Das Kalenderjahr. Ein Kalenderjahr, das aus der Eingabedatei FT gelesen wird, hat Vorrang vor YEAR.

--f F

F ist das Datum einer Feiertags im Format MM-TT. Das Argument kann für mehrere Feiertage wiederholt werden. Das Argument wird ignoriert, wenn Feiertage aus der Texteingabe FT gelesen werden. Wenn dieses Argument nicht benutzt wird und auch keine Feiertage aus FT gelesen werden, dann werden die gesetzlichen Feiertage in der Bundesrepublik Deutschland als Feiertage markiert (die „Standard”-Feiertage). Das Argument -f x ohne Eingabe weiterer Feiertage bewirkt, dass in der Ausgabe keine Feiertage markiert werden.

--w W

W ist das Datum eines Feiertags im Format MM-TT. Das Argument kann für mehrere Feiertage wiederholt werden. Zusätzlich gelten die „Standard”-Feiertage es sei denn, auch die Option --f wird benutzt (nicht ratsam).

Wenn Feiertage aus der Texteingabe FT gelesen werden, werden die Feiertage in der Befehlszeile (F oder W) ignoriert.

--ft FT

Die Feiertage und das Jahr können aus einer Texteingabe gelesen werden. Die Optionen --f und --w haben dann keine Wirkung.

Wenn FT STDIN ist, wird die Standard-Eingabe gelesen.

Wenn FT none oder nicht definiert ist, bestimmen die Argumente F und W die Feiertage.

Sonst ist FT der Dateipfad einer Textdatei, aus der die Feiertage und möglicherweise das Jahr gelesen werden.

Die Datei wird zeilenweise gelesen. Leerzeichen am Zeilenanfang und Zeileneende werden ignoriert. Zeilen, die mit dem Zeichen # beginnen, sind Kommentarzeilen. Zeilen, die das Format MM-TT oder MM-TT # Kommentar haben, bezeichnen einen Feiertag. Eine Zeile im Format 20[0-9][0-9] gibt ein Jahr an. Dieser Wert hat Vorrang vor dem Befehlszeilen-Argument YEAR. Die Eingabe endet, wenn eine Zeile mit #END Feiertage beginnt.

--mode MODE

MODE bestimmt die Anordnung der Kalendertage auf einem Monatsblatt. Die möglichen Werte sind:

h14Die Tage zweier Wochen werden in einer waagerechten Reihe ausgegeben.
h7Die Tage einer Woche werden in einer waagerechten Reihe ausgegeben.
v14Die Tage zweier Wochen werden in einer senkrechten Spalte ausgegeben.
v7Die Tage einer Woche werden in einer senkrechten Spalte ausgegeben.

Das Argument kann für mehrere Tabellen je Monat wiederholt werden. Die Tabellen sind durch das Attribut class gekennzeichnet.

--monmode MONMODE

MONMODE bestimmt der Art der Angabe der Monate. Die möglichen Werte sind:

deDeutsche Monatsnamen
numFormat MM-JJJJ.
iPlatzhalter <l:ph id = "ID"/>, s. Grunddaten
--wd

Alle Wochentage werden durch ein Wort im Atttribut td/@class gekennzeichnet. Sonst werden nur Sonntage gekennzeichnet.

--no_wd

Hebt die Wirkung der Option --wd auf.

--moncol

Es wird eine Spalte oder Zeile für die Bezeichnung des Monats ausgegeben.

--no_moncol

Hebt die Wirkung der Option --moncol auf.

--weekno

Es wird eine Spalte oder Zeile mit der Wochennummer ausgegeben.

--no_weekno

Hebt die Wirkung der Option --weekno auf.

Beschreibung

Dieses Programm gibt die Kalender-Grunddaten für ein Jahr aus.

Einschränkungen

In einigen Ländern beginnt die Woche nicht mit dem Montag. In manchen Ländern werden die Wochen des Jahres anders gezählt.

Software-Voraussetzungen

Das Programm ist mit Perl Version 5.10.1 entwickelt. Es benutzt die folgenden Module:

Herbaer::Readargs

Die Funktion read_args aus diesem Modul verarbeitet die Befehlszeilenargumente, die Funktion print_message_with_values gibt die Hilfe mit den aktuellen Einstellungen aus.

Herbaer::Replace

Die Funktion replace aus diesem Modul ersetzt die Platzhalter im Wert OUT.

Quellen

Die Formel zur Berechnung des Kalenderdatums des Osterfestes habe ich der Website http://www.gmarts.org/index.php?go=415 entnommen. Danach richten sich die Bestimmung der Wochentage und der Daten der gesetzlichen Feiertage des Osterfestkreises.

Für Hinweise zu Formeln zur Berechnung der Daten anderer besonderer Tage (zum Beispiel des Jahresbeginns nach dem chinesischen Mondkalender) bin ich dankbar.

Hinsichtlich der Wochenzählung und des ersten Tags der Woche orientiere ich mich am Wikipedia-Artikel https://de.wikipedia.org/wiki/ISO_8601