В Perl мы можем получить имя текущего пакета и текущего номера строки. Используя предопределенные переменные, такие как __PACKAGE__
и __LINE__
.Как я могу получить имя текущей подпрограммы в Perl?
Как это я хочу, чтобы получить имя текущей подпрограммы:
use strict;
use warnings;
print __PACKAGE__;
sub test()
{
print __LINE__;
}
&test();
В приведенном выше коде я хочу, чтобы получить имя подпрограммы внутри функции test
.
Какой выход вы хотите, если текущая подпрограмма является анонимным? –
'sub test() {}' определяет функцию с прототипом «()». Я предполагаю, что вы хотели 'sub test {}' –
Кроме того, не помещайте амперсанд ('&') перед вызовом подпрограммы, потому что он, вероятно, не делает того, что, по вашему мнению, он делает. – mpeters