0

モジュールを利用したいの HTML::Template ですが、どういうわけか正しく動作するように設定できません。これは、私がテストしている非常に単純な代表的なコードです。

use strict;
use warnings;

use CGI;
use HTML::Template;

my $test = new CGI;
my $tmpl = HTML::Template->new(filename => 'TemplateSimple.html');

$tmpl->param(
    title => 'Test',
    body  => '<p>This is a test</p>',
);

my $out = $test->header(
    -type    => 'text/html',
    -charset => 'utf-8'
);


print $out;
print $tmpl->output;

ページを呼び出すと、常にブラウザーにサーバーエラーメッセージが表示されます。

502 - ゲートウェイまたはプロキシ サーバーとして機能しているときに、Web サーバーが無効な応答を受信しました。

TemplateSimple.html

<!DOCTYPE html>
<html lang="de">
    <head>
        <meta charset="utf-8">
        <title><TMPL_VAR NAME=title></title>
        <link rel="SHORTCUT" ICON href="favicon.ico" />
    </head>

    <body>
        <TMPL_VAR NAME=body>
    </body>
</html>

Web ページでユーザー入力を処理したいので、CGI を使用する必要がありますが、必要に応じてコード セグメントを挿入できるテンプレートで基本的な HTML 構造を定義したいと考えています。

編集

ローカル Perl (正常に動作する eclipse から実行) と Perl CGI 構成の間の異なる構成に関係があると思います。そのような事例を知っている人はいますか?

編集

Eclipse で Perl CGI 構成をセットアップした後、スクリプトはローカル ホストから期待どおりに実行されます。ただし、外部ソースからページを呼び出すときの問題は解決しません。したがって、DaveCrossが示唆したように、バグは Perl スクリプトではなく Web サーバーの構成にあります。

4

1 に答える 1