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


in reply to 'use lib' versus '-I'

Just to get things clear, neither use lib nor -I load modules. Only use and require do that.

Both use lib and -I control @INC. According to perlrun, -I prepends directories to @INC. use lib also adds directories to the beginning of @INC, but also checks for the existance of an $archname/auto subdirectory of each directory passed to use lib. If an $archname/auto subdirectory exists, $archname/auto and $archname subdirectories are also added to @INC before the directory passed to use lib.

mod_perl is a different animal when running scripts. It has been pointed out above the mod_perl does not look at the shebang line. That is correct. You'll need to either use lib in your handler module or in your startup script to use modules installed outside of @INC.