sub control{ my $self = shift; die "Request-Methode nicht unterstützt\n" if $ENV{REQUEST_METHOD} ne 'GET'; if( $self->param('year') && $self->param('month') && $self->param('day') && $self->param('long') && $self->param('lat') ){ my $year = $self->param('year') || ''; my $month = $self->param('month') || ''; my $day = $self->param('day') || ''; my $long = $self->param('long') || ''; my $lat = $self->param('lat') || ''; my $tz = $self->param('tz') || 0; my $dst = $self->param('dst') || 0; # CORS Header $self->header( 'Content-Type' => 'text/plain; Charset=UTF-8', 'Access-Control-Allow-Origin' => '*', ); # CPAN Module Astro::Sunrise my($sunrise, $sunset) = sunrise($year,$month,$day,$long,$lat,$tz,$dst); $sunrise = sprintf("%02d:%02d", split(":", $sunrise)); $sunset = sprintf("%02d:%02d", split(":", $sunset)); if( my $obj = $self->param('obj')){ $self->header('Content-Type' => 'text/javascript'); $self->{CONTENT} = XR::xr("%obj% = { 'rise': '%sunrise%', 'set': '%sunset%' }", { obj => $obj, sunrise => $sunrise, sunset => $sunset }); } else{ $self->{CONTENT} = sprintf('{"sunrise": "%s", "sunset": "%s"}', $sunrise, $sunset); } } else{ die "Unbekannter Parameter\n"; } }