モジュールを利用したいの
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 サーバーの構成にあります。