For what it's worth, here's my fiddling with -s and modules. Consider the following toy module (With horrible style. Don't write real code like this, kids ;):
And the following little script:1: package MyMod; 2: #$value = "Ding!"; 3: sub spit { 4: return $value; 5: } 6: 1;
1: use MyMod; 2: print MyMod::spit(), "\n";
With the following command line, this will print "Hey Monks!"
c:/monks/temp $perl -s ss.pl -MyMod::value="Hey Monks!" Hey Monks!
If, on the other hand, I uncomment line 2 in MyMod.pm, setting the default value of the variable to "Ding", the same command line will return the value set in the module.
c:/monks/temp $perl -s ss.pl -MyMod::value="Hey Monks!" Ding!
To my eyes, this allows -s to set uninitialised module variables from the command line, but it will not override variables already defined. I don't really see how this can come in handy though. Perhaps some funky obfuscation?
Oh well. Curiosity strikes again :)
pernod
--
Mischief. Mayhem. Soap.
In reply to Playing with module::variables and -s
by pernod
in thread Is using '-s' really bad and why?
by Rhys
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |