如何在脚本中指定仅使用特定版本的perl?

Jos*_*ine 9 perl

我有一个为5.6.1版编写的perl脚本,它依赖于Oracle包,DBI包和更多东西.一切都正确安装和工作.

最近安装了perl版本5.8.4,因为这些依赖项未正确设置,因此脚本失败.

'perl'命令指向/program/perl_v5.8.4/bin/perl - 最新版本

所以,当我必须运行我的perl脚本时,我必须在命令提示符下手动指定

 /program/perl_v5.6.1/bin/perl scriptName.pl
Run Code Online (Sandbox Code Playgroud)

我尝试在脚本中添加以下行:

 /program/perl_v5.6.1/bin/perl 
 use v5.6.1;
Run Code Online (Sandbox Code Playgroud)

但是,这意味着脚本必须采用Perl版本> 5.6.1

我发现了几个相关的问题:

  1. 要导出路径.但是,我想要所有用户的脚本而不必导出路径
  2. 指定大于的版本.但是,我想只为此脚本使用一个特定版本.
  3. 使用/需要命令.与上述问题相同.

我的问题:如何在脚本中指定仅使用特定版本的perl?

rai*_*7ow 8

问题是#!/some/path/to/perl如果像这样调用perl脚本,则不使用shebang line()中指定的解释器:

perl some_script.pl

...然后选择'默认'(简化)perl.通过执行文件本身,应该使用shebang的原始功能:

./some_script.pl

当然,这意味着该文件应该是可执行的(chmod a+x例如).

  • shebang并没有被忽视.如果您已经指定了解释器,它就不会使用shebang行的解释器. (2认同)