package JuliGreg; # Calculate between Julian/Gregorian Calendar # Rolf Rost, 6.5.2014 use base 'main'; use strict; use warnings; use Scaliger; sub browse{ my $self = shift; my $d = Scaliger->new; $self->{STASH}{julidate} = $d->julidate; $self->{STASH}{gregdate} = $d->gregdate; } sub control{ my $self = shift; my $julidate = $self->trim($self->param('julidate')); my $gregdate = $self->trim($self->param('gregdate')); $self->{STASH}{julidate} = $self->ents($julidate); $self->{STASH}{gregdate} = $self->ents($gregdate); if($self->param('juli2greg')){ my $d = Scaliger->new( julidate => $julidate ) or return $self->errorP( title => "Eingabefehler", descr => "$@"); $self->{STASH}{gregdate} = $d->gregdate; } elsif($self->param('greg2juli')){ my $d = Scaliger->new( gregdate => $gregdate ) or return $self->errorP( title => "Eingabefehler", descr => "$@"); $self->{STASH}{julidate} = $d->julidate; } elsif($self->param('src')){ $self->header("Content-Type" => "text/plain; Charset=UTF-8"); my $pkg = __PACKAGE__; local @ARGV = $INC{"$pkg.pm"}; local $/ = undef; $self->{CONTENT} = <>; } else{ $self->errorP(title => "Fehler im Request", descr => "unbekannter Parameter"); } } 1;######################################################################### __DATA__
Datum links, rechts

Heutiges Datum setzen, Tipp: Teste den 1.3.200, da stimmen die Kalender überein (bis zum 28.2.300).

Mit meinem neuen Perl-Modul Scaliger.pm ist der Code extrem überschaubar: Perl Code im Browser ausgeben