我试图理解下面提到的代码片段,目前我被困在第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#
最佳答案
can someone tell what this code snippet does
它使用 env var MYPERL
指定的 Perl 解释器执行嵌入的 Perl 脚本。 env var PERLDB
中指定的选项(如果有)将传递给解释器。警告已全局启用。
how i can change MYPERL variable value /home/Desktop/goudar/perl/ and execute rest of the script
如果启动脚本的进程是基于 bourne 的,那么
export MYPERL=/home/Desktop/goudar/perl/
也就是说,我不知道为什么要将该值分配给 MYPERL
env 变量,因为脚本期望它是 Perl 解释器的路径。
关于linux - 有人能告诉我这个代码片段的作用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36126796/