如果我有这样的话:
在一些script.pl中:
#code here
my $result = $class->foo();
# extra code here
在班级的模块中:
package Test::A::Foo;
use parent Test::A;
sub foo {
# code here
}
当我在模块中执行代码时,如何获取Test::A::Foo
所在的确切文件路径?它不是工作目录,因为我正在运行script.pl
并调用$class->foo
,那么我该如何获取实际路径呢?
答案 0 :(得分:6)
内置哈希%INC
包含已使用require
或do
pm
Test::A::Foo
文件的位置位于$INC{'Test/A/Foo.pm'}
像
这样的东西$INC{ (__PACKAGE__ =~ s|::|/|gr) . '.pm' }
应该做你需要的事情