Subject: | Module::AutoInstall does stuff upon being required. |
I was rather surprised when "require Module::AutoInstall" started to
parse command line arguments immediately upon being loaded. At the time
I was trying to debug something in Module::Install and needed to set a
breakpoint in a Module::AutoInstall method. So I required it in the
debugger and to my surprise it started loading the CPAN shelll!
Here's a simpler example:
$ perl -wle 'require Module::AutoInstall' -h
Usage: perl [switches] [--] [programfile] [arguments]
-0[octal] specify record separator (\0, if no argument)
-a autosplit mode with -n or -p (splits $_ into @F)
It is generally a Bad Thing for a module to start doing work upon being
loaded. Its very surprising and makes the module very difficult to work
with. If this behavior can be removed it should.