我试图理解下面提到的代码片段,当前我停留在第3行,并且在大量挖掘之后我才知道$ MYPERL是定义/定位perl二进制文件的位置,而对于$ PERLDB来说,这是perl调试器i,e- d:ptkdb,基本上这是一个perl脚本,并且对此进行编码的人员将其包装为使用最新的perl版本。有人可以告诉我如何更改MYPERL变量值/ home / Desktop / goudar / perl /并执行脚本的其余部分吗?

#!/bin/sh
# -*- cperl -*-
exec $MYPERL -x $PERLDB -wS $0 ${1+"$@"}
#!perl
#line 6

### perl
use Cwd;
use Data::Dumper;
use List::MoreUtils qw/ uniq /;
use JSON;
use Mojo::JSON;

#rest of the code go here#

最佳答案

有人可以告诉这个代码片段做什么


它使用env var MYPERL指定的Perl解释器执行嵌入式Perl脚本。 env var PERLDB中指定的选项(如果有)将传递到解释器。全局启用警告。


  我如何更改MYPERL变量值/ home / Desktop / goudar / perl /并执行脚本的其余部分


如果将启动脚本的进程是基于本地的,则

export MYPERL=/home/Desktop/goudar/perl/


就是说,我不知道为什么要将该值分配给MYPERL env变量,因为脚本希望该值成为Perl解释器的路径。

09-10 09:40