in reply to defining variable values on the commandline
And that last note is noteworthy. Such variables are not the same as lexical variables; they are package variables in package main::.-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".
-- Randal L. Schwartz, Perl hacker
|
---|