如何获取正在运行的Perl脚本的名称
我怎样才能得到脚本的名字?
例如,我有一个名为XXX.pl的Perl脚本。 这个文件包含: 
 $name = #some function that obtains the script's own name print $name; 
输出:
 XXX.pl 
我想把它比作获得脚本目录的CWD函数。 我需要一个获取脚本名称的函数。
 正在运行的程序的名称可以在$0variables中find: 
 print $0; 
其他特殊variables的人perlvar 。
 use File::Basename; my $name = basename($0); 
  PS。  getcwd() 和朋友不会给你脚本的目录! 他们给你的工作目录。 如果脚本在你的PATH中,而你只是通过名字调用它,而不是完整的path,那么getcwd()就不会做你说的话。 你想要dirname($0) (dirname也在File::Basename )。 
 您可能还有兴趣了解更多关于__FILE__ ,也可能有__LINE__ ,这会给您提供当前的线路,我经常一起使用。 
 如果你想要这个debugging的目的,你可能还想了解“ warn ”,“ Carp ”,“ caller ”。 
查看模块FindBin ,作为核心Perl发行版的一部分。 它导出你正在寻找的variables
  EXPORTABLE VARIABLES $Bin - path to bin directory from where script was invoked $Script - basename of script from which Perl was invoked $RealBin - $Bin with all links resolved $RealScript - $Script with all links resolved