作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道脚本可以检索通过 ARGV 传递给它的所有命令行参数,即:
# test.pl
print "$ARGV[0]\n";
print "$ARGV[1]\n";
print "$ARGV[2]\n";
## perl ./test.pl one two three
one
two
three
在上面的示例中,传递给 test.pl
脚本的命令行参数是“一”、“二”和“三”。
现在,假设我运行以下命令:
## perl -d:DumpTrace test.pl one two three
or
## perl -c test.pl one two three
如何从 test.pl
脚本的操作中判断选项 -c
或 -d:DumpTrace
已传递到 Perl 解释器?
我正在寻找一种方法,该方法可以识别在脚本执行期间何时将选项传递给 perl 解释器:
if "-c" was used in the execution of `test.pl` script {
print "perl -c option was used in the execution of this script";
}
最佳答案
您可以使用Devel::PL_origargv访问传递给 perl 解释器的命令行参数。示例脚本 p.pl
:
use strict;
use warnings;
use Devel::PL_origargv;
my @PL_origargv = Devel::PL_origargv->get;
print Dumper({args => \@PL_origargv});
然后运行脚本,例如:
$ perl -MData::Dumper -I. p.pl
$VAR1 = {
'args' => [
'perl',
'-MData::Dumper',
'-I.',
'p.pl'
]
};
关于perl - 有没有办法识别哪些 perl 特定选项传递给脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64297483/
我是一名优秀的程序员,十分优秀!