[cologne-pm] Tag zusammen
Thomas Baedorf
tom at buchforst.ping.de
So Jun 27 03:10:01 PDT 2010
On Tue, Jun 22, 2010 at 03:06:53PM +0200, Susan Dittmar wrote:
> Hallo Thomas,
Hallo Susan,
Erstmal entschuldigung dass ich erst 1 Woche später
reagiere.
Problem ist gelöst !
>
> das Kommando "die" eine andere Routine ausführen zu lassen, ist garnicht
> schwer!
>
> ###################
> $SIG{__DIE__} = sub {
> # wichtige Dinge aufräumen, wie zum Beispiel schließen der Datenbank:
> # $dbh->disconnect;
> # Fehlermeldung ausgeben und beenden:
> print STDERR "@_\n";
> exit(1);
Genau - exit fehlte, und zwar zwischen "print end_html" und Ende der
Funktion. Ist eventuell keine elegante Lösung aber funktioniert
zu mindest nach dem Motto "Wenn man das Programm rechtzeitig abwürgt,
gibt es auch keine Fehlermeldung mehr." ;)
---ligawahl.pm---------
sub notfall {
my ($fehler,$hinweis);
$fehler=@_;
if ($fehler == 1){
$hinweis =<<ENDE;
PostgreSQL Fussballserver ist nicht eingeschaltet
ENDE
}else{
$hinweis =<<ENDE;
Für dieses Jahr und diese Liga sind keine Daten vorhanden
ENDE
}
print header(
-type => "text/html"),
start_html(
-title => "FUSSBALL",
-bgcolor => "#7C8155"),#
h1({-style=>'Color:#FF8C00;'},param("ln"),param("lj")),#!!interessant param?
small a({href=>'../startfusb.cgi'},'Ligaauswahl'),
h1({-style=>'Color:#FF8C00;'},"Wir haben hier ein Problem"),#
h2({-style=>'Color:#112299;'},$hinweis);
print end_html;
exit; <--
}#ende-sub
1;
--ENDE -ligawahl.pm---------
> # Stattdessen könntest Du auch
> # die "@_";
> # verwenden. Das ruft die interne Perl-Variante und *nicht* rekursiv
> # diesen Signal-Handler auf. Aber natürlich liefert es genau die
> # Ausgabe, die Du nicht möchtest.
Eben, soll ja schön aussehen und auf deutsch sein.
> };
>
> die "Will nicht mehr!!!!";
> ###################
>
> Ich hoffe, das hilft,
Danke schön an alle die sich mit dem Thema beschäftigt hatten.
>
> Susan
Viele Grüsse
--
______
Thomas
Mehr Informationen über die Mailingliste cologne-pm