是否存在rel2abs($ 0)返回与rel2abs(__ FILE__)不同的东西的情况?

时间:2014-01-12 09:37:15

标签: perl path executable

是否存在这两种说法(rel2abs($0)rel2abs(__FILE__))返回不同内容的情况?

use 5.10.0;
use File::Spec::Functions qw(rel2abs);

say rel2abs($0);

say rel2abs(__FILE__);

2 个答案:

答案 0 :(得分:2)

  1. 如提及的 tripleee ,程序可能包含多个__FILE__ s。

  2. $0可以设置为任何内容(取决于操作系统):

    $0 = "foo bar";
    
  3. 您可能对FindBin模块感兴趣,而不是使用rel2abs,尤其是$FindBin::RealBin变量。

答案 1 :(得分:1)

如果$0不是__FILE__,则它们会有所不同。如果您从其他脚本requireusedo此文件,则可能会发生这种情况。