Perl模块中的可执行脚本如何获得正确的shebang线?

时间:2011-02-15 19:44:19

标签: path installation perl-module

通常,当Perl模块安装可执行脚本时,它会以某种方式更改#!/usr/bin/perl行以指向相应的Perl路径。例如,如果我使用安装在/usr/local/bin/perl的perl来安装模块,那么shebang行将更改为#!/usr/local/bin/perl,以便安装的脚本将始终使用安装它的perl版本。

这是什么,以及如何在我自己的安装脚本的模块中执行此操作?

修改

请注意,我特别谈到作为Perl模块的一部分分发的可执行perl脚本。由于模块安装到特定版本的Perl,因此该模块安装的任何脚本都必须使用相同的版本,因此 #!/usr/bin/env perl 是错误的。

1 个答案:

答案 0 :(得分:2)

来自http://metacpan.org/pod/ExtUtils::MakeMaker

EXE_FILES

参考可执行文件数组。这些文件将被复制到INST_SCRIPT目录中。让realclean再次从那里删除它们。

如果您的可执行文件以#!perl或#!/ usr / bin / perl之类的东西开头,MakeMaker会将此更改为perl'Makefile.PL'的路径,因此程序将确保正常运行如果perl不在/ usr / bin / perl。