我需要知道我的函数调用了哪个perl文件。假设我有以下模块(MyModule.pm
),它具有以下功能:
package MyModule;
sub myFunc{
# Here I need to print the name of the file that the function was called from
}
脚本myScript.pl
使用MyModule
并调用函数myFunc()
:
use MyModule;
MyModule->myFunc();
我需要拨打myFunc()
来打印“myScript.pl
”
在Perl中有没有办法做到这一点?
答案 0 :(得分:6)
内幕法,
sub myFunc{
my ($package, $filename, $line) = caller;
print $filename;
}
查看perldoc -f caller
了解详情。