如何为CGI脚本的模块设置Perl的包含路径?

时间:2008-12-10 06:41:48

标签: perl path cgi module

我在~/perl的主机上安装了几个Perl模块,如何将它们添加到Perl模块路径?将PERL5LIBunshift路径设置为@INC肯定有效,但环境变量在作为CGI脚本运行时没有帮助,并且@INC方式不是非常便携。有没有更好的办法?这是一个常见的问题,我错过了什么吗?

2 个答案:

答案 0 :(得分:9)

更简洁的做法是:

use lib "/path/" ;  

还有其他有趣且好的方法可以在这里找到:

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

另外,re:CGI脚本,您可以为CGI Env定义PERL5LIB路径,它只取决于您的webhost。

某些Webhosts允许对CGI环境的env变量进行特定控制,您只需设置它们,其他人可能有一个“许可”列表,允许在开始时可见的变量出现在本地范围内。

可以帮助您了解如何在特定的HTTP服务器上执行此操作。

如果根据您的喜好设置ENV,还有一个选项:local::lib

自动搜索某些预定义路径。

答案 1 :(得分:6)

PERL5LIB适用于CGI脚本。您只需将变量设置在正确的位置,例如服务器配置。您使用的是哪个网络服务器?对于Apache,我使用mod_env的SetEnv指令。

@INC是便携式的。你放在那里的路径在每台机器上可能都不一样,但你不应该对变量本身有问题。

您是否阅读了perlfaq8中的常见问题解答条目: