FindBin模块在文件嵌套时的返回值

来源:互联网 发布:二手房 知乎 编辑:程序博客网 时间:2024/05/21 08:22

我们知道,Perl的FindBin模块可以取得当前正在运行的Perl脚本的文件路径以及文件名。
可是,如果多个文件嵌套调用呢,例如文件A调用文件B,那么B中的FindBin返回的脚本名称应该是B还是A呢?

这里做一个试验,详述如下:

一、被调用脚本in.pl

#!/usr/bin/perl -wuse FindBin;use strict;sub fun { print "$FindBin::Bin/$FindBin::Script\n"; }1;


二、主调脚本p.pl

#!/usr/bin/perl -wuse strict;require "in.pl";fun();


三、主调脚本执行结果:

$./p.pl/data/home/anybody/p.pl


显然,这里FindBin模块尽管在B脚本中调用,但由于B脚本被A脚本调用,因此这里返回的脚本名称仍然是A。

原创粉丝点击