有没有办法确定当前文件是否是在Perl源中执行的文件?在Python中,我们使用以下构造执行此操作:
if __name__ == '__main__': # This file is being executed. raise NotImplementedError
我可以使用FindBin
和一起破解一些东西__FILE__
,但是我希望有一种规范的方法可以做到这一点.谢谢!
unless (caller) { print "This is the script being executed\n"; }
见来电者.它undef
在主脚本中返回.请注意,这在子例程中不起作用,仅在顶级代码中有效.
请参阅brian d foy的文章"改进Perl编程的五种方法 "中的"应用程序的子类(第18章)"部分.