PS:
Mein "Date::Calc Modul" habe ich nach dem benannt, der Mitte 16.JH die Berechnung fortlaufender Tage eingeführt hat: J.J. Scaliger. Der Julianische Tag heißt zwar in meinem Modul Scaliger.pm auch jd, hätte jedoch eher die Bezeichnung Scaliger-Tag verdient.
Apropos "Rad neu erfinden":
In meinem Perl-Modul Scaliger.pm arbeite ich mit automatischen Getter-Methoden, das geht mit Perl schon lange, mindestens seit dem Jahr 2001 zu machen, da frage ich bei dem diesbezüglichen PHP-Voodoo auch, was zuerst da war, die Henne oder das Ei ;)
Scaliger.pm unterscheidet außerdem zwischen Programmier- und Benutzerfehlern:
my $sca = Scaliger->new( date => "29.2.2013" );
| ^ ab hier sind Benutzereingaben zu erwarten
|
^ bis hier ist Programmierer zuständig
Was die Fehlerbehandlung in der Anwendung extrem vereinfacht, beide Fälle werden über das Exception-Model abgewickelt. Schließlich kann ja auch nur im Kalendermodul selbst festgestellt werden, ob ein gültiges Datum eingegeben wurde und was daran evntl. falsch ist ;)