是否存在这两种说法(rel2abs($0)
和rel2abs(__FILE__)
)返回不同内容的情况?
use 5.10.0;
use File::Spec::Functions qw(rel2abs);
say rel2abs($0);
say rel2abs(__FILE__);
答案 0 :(得分:2)
如提及的 tripleee ,程序可能包含多个__FILE__
s。
$0
可以设置为任何内容(取决于操作系统):
$0 = "foo bar";
您可能对FindBin
模块感兴趣,而不是使用rel2abs
,尤其是$FindBin::RealBin
变量。
答案 1 :(得分:1)
如果$0
不是__FILE__
,则它们会有所不同。如果您从其他脚本require
或use
或do
此文件,则可能会发生这种情况。