通常,当Perl模块安装可执行脚本时,它会以某种方式更改#!/usr/bin/perl
行以指向相应的Perl路径。例如,如果我使用安装在/usr/local/bin/perl
的perl来安装模块,那么shebang行将更改为#!/usr/local/bin/perl
,以便安装的脚本将始终使用安装它的perl版本。
这是什么,以及如何在我自己的安装脚本的模块中执行此操作?
请注意,我特别谈到作为Perl模块的一部分分发的可执行perl脚本。由于模块安装到特定版本的Perl,因此该模块安装的任何脚本都必须使用相同的版本,因此 是错误的。#!/usr/bin/env perl
答案 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。