http://qs321.pair.com?node_id=400261


in reply to Is using '-s' really bad and why?

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 ;):

1: package MyMod; 2: #$value = "Ding!"; 3: sub spit { 4: return $value; 5: } 6: 1;
And the following little script:
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.