[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&uuml;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