#!/usr/bin/perl5.10.0 use strict; use warnings; sub Fatal { push( @ErrorHandler::Error, join( '', @_ ) ); last ErrorHandler; } sub Warning { push( @ErrorHandler::Error, join( '', @_ ) ); } $main::SIG{__DIE__} = \&main::Fatal; $main::SIG{__WARN__} = \&main::Warning; ErrorHandler:eval{ #vermeindlich fehlerhafter Code #alle Ausgaben werden anstatt mit "print" mit einer eigenen #Subroutine gemacht, die die Ausgabe in $ErrorHandler::Buffer speichert } $main::SIG{__DIE__} = \&CORE::die; $main::SIG{__WARN__} = \&CORE::warn; # pruefen ob Fehler aufgetreten, wenn ja @ErrorHandler::Error # in errorlog speichern und Fehlermeldung ausgeben. Wenn nein, # $ErrorHandler::Buffer ausgeben