perl - 如果使用了 -e eval 开关,则强制 Perl 停止对命令行参数的特殊处理

标签 perl command-line-arguments

perl -e 'print(123, @ARGV);' a b
# 123ab

perl -e 'print(123, @ARGV);' --help
# prints Perl's help instead
这是一个演示问题的玩具示例。在我的实际用例中,我使用的是 -e使用 perl_parse(...) 从嵌入式解释器执行大型脚本函数,脚本有自己的处理--help开关,所以我想在 -e 之后阻止对命令行参数的任何特殊处理.
是否可以?

最佳答案

使用双连字符停止参数处理:

$ perl -e'print "[@ARGV]\n"' -- --help
[--help]
$

关于perl - 如果使用了 -e eval 开关,则强制 Perl 停止对命令行参数的特殊处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69497265/

相关文章:

perl - Bing Api如何制作过滤器

perl - 如何在 Catalyst 的请求结束时进行清理?

C++命令行参数Eclipse CDT?

c - 如果我声明一个参数表为空的函数,然后将参数传递给它会怎样?

python - 使用命令行参数通过 Cython 运行 python 代码

python - 正则表达式中重复限定符被忽略

perl - 无法加载 '/Compress/Raw/Zlib/Zlib.so'

regex - 匹配给定字符的文本,但不包括 Perl 中单引号内出现的字符

c++ - 接受整数主参数然后使用它们来声明一个数组,常数问题?

python - 在 python 的 max 函数中传递 1 2 23 32 4 返回 4,为什么?