perl-在被require的文件里获取被require文件的路径,该怎么解决
perl-在被require的文件里获取被require文件的路径
假设在文件/pathA/A.pl里面,
require "/pathB/B.pl";
在文件 /pathB/B.pl 里有函数:
sub XXX {
}
如何在sub XXX里面获取文件 /pathB/B.pl的路径?
用FindBin等等得到的都是/pathA/A.pl的路径。
------解决方案--------------------
在你写脚本的时候,路径的相对关系已经确定了吧,可以通过A.pl的路径得到B.pl的路径
如果是在@INC里的,可以试试
假设在文件/pathA/A.pl里面,
require "/pathB/B.pl";
在文件 /pathB/B.pl 里有函数:
sub XXX {
}
如何在sub XXX里面获取文件 /pathB/B.pl的路径?
用FindBin等等得到的都是/pathA/A.pl的路径。
------解决方案--------------------
在你写脚本的时候,路径的相对关系已经确定了吧,可以通过A.pl的路径得到B.pl的路径
如果是在@INC里的,可以试试
- Perl code
use strict; use warnings; use Module::Locate qw/locate/; my $to_find = "Some::Module"; print "Perl would use: ", scalar locate($to_find), "\n";