gpt4 book ai didi

perl - 有没有办法识别哪些 perl 特定选项传递给脚本?

转载 作者:行者123 更新时间:2023-12-02 19:10:51 25 4
gpt4 key购买 nike

我知道脚本可以检索通过 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com