Carp
que nos permite localizar quién
llamo a la rutina actual. La función intrínseca caller
devuelve una lista de valores indicando:
($package, $filename, $line) = caller;Cuando
caller
se llama en un contexto escalar sólo devuelve
el nombre del paquete.
Se le puede pasar un argumento (caller expr
) en cuyo caso
expr
indica el número de contextos de pila que se retroceden a partir de
este. En ese caso la información devuelta es aún mas rica:
($package, $filename, $line, $subr, $has_args, $wantarray) = caller($i);Por ejemplo, el siguiente código nos da el nombre de la función actual:
$this_function = (caller(0))[3];