Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I set Perl's inclusion path for modules for a CGI script?

I’ve got several Perl modules installed on my hosting machine in ~/perl, how do I add them to Perl module path? Setting PERL5LIB or unshifting the paths to @INC surely works, but the environment variable does not help when running as a CGI script and the @INC way is not very portable. Is there a better way? This has to be a common problem, am I missing something?

like image 313
zoul Avatar asked Dec 10 '08 06:12

zoul


1 Answers

A cleaner way to do it imo is :

use lib "/path/" ;  

there are other interesting and good ways to do it that can be found here:

http://www.slideshare.net/pfig/cpan-training-presentation/

Also, re: CGI scripts, you CAN define PERL5LIB paths for your CGI Env, it just depends on your webhost.

Some Webhosts permit specific control of env variables for the CGI Enviroment, and you have to just set them, others may have a "permit" list that allows variables visible at start time appear in local scope.

May help to read up on how to do this on your specific HTTP server.

There is one more option, if setting ENV is not to your taste: local::lib

Which searches some predefined paths automatically.

like image 147
Kent Fredric Avatar answered Sep 23 '22 11:09

Kent Fredric