さて、これは奇妙なものです。
すべてのサーバーは ActivePerl 5.8.8 と Windows Server 2003 を使用しています。
一部の開発中に、作業中のスクリプトが CGI エラーを返し始めるという問題に遭遇しました。一定の CGI エラーが発生するだけで、ヘッダーを印刷しても機能しません。この問題は、1 つの開発サーバーに追いやられました。
掘り下げた後、問題は警告に関連していることがわかりました。perl が特定の警告をスローすると、IIS からページが戻ってきて、CGI ヘッダーが正しくなく、本文には何もありません。具体的には、初期化されていない文字列の連結に関する警告です。
これが私が使用しているテストスクリプトです。
use strict;
Main();
sub Main {
my $Web = new CGI;
my $SQL = VIN::SQL->new('INDIGO');
print $Web->header();
print "Testing!";
print "/r/n/r/n/";
my ($Body, $Title) = ('', '');
my $Page;
eval{
$Page = "";
$Page = $Web->param('Page');
print "Page " . $Page;
};
}
警告なしのステートメントを追加すると、実行されます。Page パラメーターを追加すると、それが実行されることも意味します。
何が原因である可能性がありますか?「警告なし」ステートメントを追加して先に進む前に、なぜこれが私たちのライブ環境で発生したかのように、警告なしを追加したくない理由を理解したいと思います。システム内のすべての perl スクリプトに対するステートメント。
いつもお世話になっております。