my ( $Self, %Parameter ) = @_; # Übergabe des Caller - Aufrufs my $Caller = $Parameter{ Caller } || 0; # Speicherung der Fehler - Details für das Debugging ( Aufruf , Datei , Zeile , Sub - Routine ) my ( $Package1 , $Filename1 , $Line1 , $Subroutine1 ) = caller( $Caller + 0 ); my ( $Package2 , $Filename2 , $Line2 , $Subroutine2 ) = caller( $Caller + 1 ); print "Modul : $Package1 | Datei : $Filename1 | Zeile : $Line1 | Sub - Routine : $Subroutine1" , "\n"; print "Modul : $Package2 | Datei : $Filename2 | Zeile : $Line2 | Sub - Routine : $Subroutine2" , "\n"; $Subroutine2 ||= $0; # Log Backend $Self -> { Backend } -> Log( Priority => $Priority , Message => $Message , LogPrefix => $Self -> { LogPrefix } , Module => $Subroutine2 , Line => $Line1 , );