Thread Wie Log-Verarbeitung ohne Abbruch bewerkstelligen
(12 answers)
Opened by YAPD at 2019-05-31 19:09
Der Verwendung nach (mit print und Stringvergleich) vermute ich, dass $CurrentObject kein Objekt ist, sondern der Name einer Klasse, also vielleicht durch ref($object) ermittelt wurde.
Das passt auch sonst zum Text: Dann könnte $Package eine Klasse sein, die von $CurrentObject "erbt" und möglicherweise in der gleichen Datei ("$Package im Modul $CurrentObject") definiert ist: Code (perl): (dl
)
1 2 3 4 5 6 7 package Foo; # $CurrentObject = 'Foo' package Bar; # da gibt's nun mehrere Schreibweisen... use parent -norequire, 'Foo'; # use base 'Foo'; # our @ISA = ('Foo'); ...anderswo: ...und nun ist es so weit: $CurrentObject && $CurrentObject ne $Package ist "wahr". Und dazu: 2019-05-31T20:36:39 YAPD Das liegt an Deiner Zählung: caller(0) liefert die Daten der eigenen Routine - und das ist nun mal Kernel::System::Log::Log, und caller(1) liefert Daten von deren Aufrufer _DieWithError. Du willst vermutlich caller(1) und insbesondere caller(2) sehen. |