8

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

4

2 回答 2

9

一种更清洁的方法是:

use lib "/path/" ;  

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

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

另外,关于:CGI 脚本,您可以为您的 CGI 环境定义 PERL5LIB 路径,这仅取决于您的网络主机。

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

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

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

它会自动搜索一些预定义的路径。

于 2008-12-10T06:57:55.443 回答
6

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

@INC 是可移植的。您输入的路径在每台机器上可能都不相同,但变量本身不应该有问题。

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

于 2008-12-10T15:05:56.723 回答