我应该为Perl脚本的shebang行使用什么?
其中哪些更好或更快用作Perl脚本的shebang行?
#! perl #! perl.exe #! fullpath/perl(/perl.exe) #! partialpath/perl(/perl.exe) 并且,当使用#!perl时,当它在一个特定的系统上工作时,我如何在脚本中找到我使用的perl解释器,所以我可以把那个到shebang行? 并且,如果使用/ path / path / perl,是“*”还是“…”允许用于文件夹? 解决方法
如果你必须硬编码#!,使用#!/ usr / bin / env perl。为什么?你想要的是Perl程序运行与用户的首选Perl。这将是他们PATH中的第一个。 #!perl不做我的意思,它不搜索用户的PATH,#!/ usr / bin / env perl是如何拉断的。 / usr / bin / env将始终存在于Unix系统上。
如果用户正在使用Windows,正如其他人指出的,这没关系。 Windows不使用#!它使用文件扩展名关联。确保你的程序被称为foo.pl或某事,它会工作。但包括#!无论如何,一些实用程序和编辑器使用它。 如果你运送代码,让安装程序照顾它。 MakeMaker / Makefile.PL和Module :: Build / Build.PL都会改变你的#!线匹配用户用来安装的perl。他们会为你照顾这个问题。 如果要为自己的生产使用安装代码,则应使用perl的特定副本的完整路径。哪个版本的perl?一个特定于您的项目。这是否意味着你需要为每个项目编译perl?不,你可以做一个符号链接。项目foo可能有/usr/local/bin / fooperl指向/usr/bin/perl5.18。使用#!/usr/local/bin / fooperl。现在如果你决定升级perl,你可以通过改变符号链接在每个项目。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |