我想使用该
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 服务器在充当网关或代理服务器时收到无效响应。
模板简单.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>
我必须使用 CGI,因为我想处理网页上的用户输入,但我想在模板中定义基本的 HTML 结构,我可以根据需要插入代码段。
编辑
我认为这可能与本地 Perl(从 eclipse 运行,运行良好)和 Perl CGI 配置之间的不同配置有关。有人知道这样的案例吗?
编辑
在 Eclipse 中设置 Perl CGI 配置后,脚本会按预期从本地主机运行。但是,从外部源调用页面时的问题仍然存在。所以就像DaveCross建议的那样,错误在于 Web 服务器配置而不是 Perl 脚本。