perldoc perlrun:
-s enables rudimentary switch parsing for switches on the comman
+d line
after the program name but before any filename arguments (or
+before
an argument of --). This means you can have switches with two
leading dashes (--help). Any switch found there is removed fr
+om
@ARGV and sets the corresponding variable in the Perl program
+. The
following program prints "1" if the program is invoked with a
+ -xyz
switch, and "abc" if it is invoked with -xyz=abc.
#!/usr/bin/perl -s
if ($xyz) { print "$xyz\n" }
Do note that --help creates the variable ${-help}, which is n
+ot
compliant with "strict refs".
And that last note is noteworthy. Such variables are not the same as lexical variables; they are package variables in package
main::.
-- Randal L. Schwartz, Perl hacker