perl -e 'print(123, @ARGV);' a b
# 123ab
perl -e 'print(123, @ARGV);' --help
# prints Perl's help instead
This is a toy example demonstrating the problem. In my real use-case I'm using -e
to execute a large script from an embedded interpreter using perl_parse(...)
function, the script has its own processing of --help
switch, so I'd like to block any special processing of command line arguments after -e
.
Is it possible?
CodePudding user response:
Use a double hyphen to stop argument processing:
$ perl -e'print "[@ARGV]\n"' -- --help
[--help]
$