This is of great importance when you are running your scripts under mod_perl
Example - You have files
Some/Module.pm
SomeOther/Module.pm
you have 2 perl files that use them (use Module.pm
<= note just the file name not directory )
a.pl and b.pl
when u test this by running in a single server mode (httpd -X) you will notice that only the first one will run and the second gives an error
This is because the modules didnt declare the package name and there is some sort of namespace pollution
apparantly the %INC hash has already the key called called Module.pm and dosent load the second Module
This is explained in the practical mod_perl book
Here
Update
Please check
brian_d_foy's answer to this, It is explained clearly .I had got this wrong