如何知道调用函数的perl模块或文件

时间:2015-04-12 08:51:48

标签: perl

我需要知道我的函数调用了哪个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中有没有办法做到这一点?

1 个答案:

答案 0 :(得分:6)

内幕法,

sub myFunc{
  my ($package, $filename, $line) = caller;
  print $filename;
}

查看perldoc -f caller了解详情。