我有一个类似于以下内容的 cgi 脚本:
BEGIN {
unshift (@INC, "$ENV{'HOME'}/www/cgi-bin/SiteSpecific");
}
print "Content-type: text/html\n\n";
use SiteObject;
my $siteObjInst = SiteObject->instance();
print $siteObjInst->{HideFields};
这将在命令提示符下运行良好,但在从浏览器作为 CGI 脚本运行时会失败。$ENV{'HOME'} 可能未设置,因为脚本找不到模块。
是不是 CGI 脚本没有在 shell 中运行并且没有找到环境变量?
如果上述情况属实,我是否需要使用其他方式在 BEGIN 块中设置所需的变量?
谢谢你的帮助。