En Perl podemos obtener el nombre del paquete actual y el número de línea actual Usando las variables predefinidas como __PACKAGE__
y __LINE__
.¿Cómo puedo obtener el nombre de la subrutina actual en Perl?
como no quiero obtener el nombre de la subrutina actual:
use strict;
use warnings;
print __PACKAGE__;
sub test()
{
print __LINE__;
}
&test();
En el código anterior Quiero obtener el nombre de la subrutina dentro de la función test
.
¿Qué quieres de salida si el subprograma actual es anónimo? –
'sub test() {}' define una función con un prototipo de "()". Supongo que querías 'subtest {}' –
Además, no pongas un símbolo comercial ('&') antes de las llamadas a la subrutina porque probablemente no hace lo que crees que hace. – mpeters