加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

我应该为Perl脚本的shebang行使用什么?

发布时间:2020-12-15 21:26:12 所属栏目:大数据 来源:网络整理
导读:其中哪些更好或更快用作Perl脚本的shebang行? #! perl#! perl.exe#! fullpath/perl(/perl.exe)#! partialpath/perl(/perl.exe) 并且,当使用#!perl时,当它在一个特定的系统上工作时,我如何在脚本中找到我使用的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,你可以通过改变符号链接在每个项目。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读