hotti: Perl Hashes sortieren

Beitrag lesen

Warum auch nicht das hier:
Weil's Murks ist.

Nein im Gegenteil. Ein

  
$SIG{__WARN__} = sub{  
	die "Warnung: @_";  
};  

mag zwar etwas altmodisch erscheinen, ist aber sehr hilfreich, vorausgesetzt, Du kannst mit Exceptions richtig umgehen. D.h., es ist vor jeder Ausgabe auf STDOUT auf Exception zu prüfen und so bekommst Du mit o.g. Code jede Warnung mit, die bei einem CGI-Script oder mod_perl, stillschweigend das Error_Log zumüllen würden.

Weitere Möglichkeiten, falls ein Backtrace gewünscht ist, bietet das Perl-Modul Carp qw(cluck confess).

Und Überhaupt: Das Exception-Model in Perl ermöglicht Fehlerbehandlungen, die über Kontrollstrukturen sehr aufwändig oder gar nicht zu machen sind. Ein Beispiel:

  
		if( ($d != $inday) || ($m != $inmonth) || ($y != $inyear) ){  
			die "Nach Greg. Kalender kein Schaltjahr\n" if( ($inday == 29) && ($inmonth == 2)  );  
			die "Datum nach Greg. Kalender ungültig\n";  
		}  

Der Code ist Bestandteil einer Objekt-Initialisierung, welche im Konstruktor auf Exception geprüft wird. In der Anwendung, wo das Objekt aus Benutzereingaben initialisiert wird, steht der Fehler in $@, fertig.

Man schreibt

Was glaubst Du wohl, wer sich mit 'Man' angesprochen fühlt!?