我需要知道我的函数是从哪个 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 中有什么方法可以做到这一点吗?
最佳答案
内部方法,
sub myFunc{
my ($package, $filename, $line) = caller;
print $filename;
}
检查 perldoc -f caller
了解更多详情。
关于perl - 如何知道函数是从哪个 perl 模块或文件调用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29587638/