次のような 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 スクリプトがシェル内で実行されず、環境変数が見つからないということですか?
上記が当てはまる場合、他の手段を使用して BEGIN ブロック内で目的の変数を設定する必要がありますか?
ご協力いただきありがとうございます。