http://www.perlmonks.org?node_id=268155

deprecated has asked for the wisdom of the Perl Monks concerning the following question:

I saw in a recent node of Juerd's (it isn't really relevant where) the following code:
use lib '.';
Now, at one point I used to do this myself. However, on accident one day I noticed that it wasn't necessary. Observe:
[scorch:~/monks] alex% ./testlib.pl bar bletch [scorch:~/monks] alex% find . . ./Demo ./Demo/SubDemo.pm ./Demo.pm ./testlib.pl [scorch:~/monks] alex% find . -name '*p[ml]' -exec cat {} \; package Demo::SubDemo; $baz = "bletch"; 1; package Demo; $foo = "bar"; 1; #!/usr/bin/perl -wl use Demo; use Demo::SubDemo; print $Demo::foo; print $Demo::SubDemo::baz; [scorch:~/monks] alex% echo $PERL5LIB PERL5LIB: Undefined variable.
Note that nowhere am I asking perl to use "." in @INC. Yet, perl still sees it. I think this is pretty sensible behaviour. Additionally, were I to have POD in any of the Demo modules, I could use perldoc, and it would DTRT as regards '.'.

Am I missing something that coders are using lib this way? I guess with the exception of CGI applications (although I suspect it isn't necessary there, either).

Cheers
dep.

--
Laziness, Impatience, Hubris, and Generosity.

minor reword edit on first line.