如果使用 -e eval 开关,则强制 Perl 停止对命令行参数的特殊处理
Force Perl to stop special processing of command line arguments if -e eval switch is used
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 '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]
$