Feststellen, von wo aus Aufruf einer Methode

Hi,

gibt es in Perl die Möglichkeit, in einer aufgerufenen Methode eines mit use eingebundenen Packages festzustellen, aus welchem Script und da von welcher Zeile aus die Methode aufgerufen wurde, ohne die Informationen jedesmal mitgegeben zu müssen.

Thomas

Hallo Thomas,

gibt es in Perl die Möglichkeit, in einer aufgerufenen Methode
eines mit use eingebundenen Packages festzustellen, aus
welchem Script und da von welcher Zeile aus die Methode
aufgerufen wurde, ohne die Informationen jedesmal mitgegeben
zu müssen.

Dafuer gibts die Funktion caller:

($package,$dateiname,$zeile,$subroutine,$hat\_argumente,$wantarray\_kontext)=caller($i);

wobei $i eine Ganzahl ist und bedeutet:
0 - geb mir die Infos zur eigenen Funktion
1 - … zur aufrufenden Funktion
2 - … zum Aufrufer des Aufrufers

usw.

Risiken und Nebenwirkungen wie immer unter
perldoc -f caller

Gruss,
-Andreas.