-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 =pod I recently wrote some code like this: lang:Perl use Log::Log4perl qw(:easy); Log::Log4perl->easy_init($ERROR); use My::Module; My::Module->run( @ARGV ); This code leads you to believe that C is set up when C is required, but that's obviouly not the case (think about C if you're stuck). Admittedly, this is rarely a problem because C doesn't use logging functions. But if it did (and similar situations have bitten me before), you would spend quite a while wondering what's going on. Avoid that confusion and say what you mean, either: use Log::Log4perl; use My::Module; Log::Log4perl->init; My::Module->run; or: use Log::Log4perl; BEGIN { Log::Log4perl->init } use My::Module; My::Module->run; In both of these cases, your code will do what it looks like it does, and that's always a good thing. =cut -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHSQeq2rw+dVvzZm0RAhKXAJ0axfxGTCKVJLNM9KYKxbSknMQCpACggkH8 q8mpcSdPh6XdfBIQb2a2hdM= =JGbN -----END PGP SIGNATURE-----