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

zou*_*oul 8 perl cgi module path

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

Ken*_*ric 9

更简洁的做法是:

use lib "/path/" ;  
Run Code Online (Sandbox Code Playgroud)

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

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

此外,重:CGI脚本,您可以为您的CGI信封PERL5LIB路径,它只是取决于你的虚拟主机提供商.

有些主机商允许的CGI环境变量ENV具体的控制,你必须只设置这些,其他人可能有一个"允许"列表,允许在启动时可见的变量出现在局部范围.

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

如果设置ENV不符合您的口味,还有一个选项:local :: lib

其中自动搜索某些预定义路径.


bri*_*foy 6

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

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

您是否阅读过perlfaq8中的FAQ条目: