#!/usr/bin/perl
use strict;
use warnings;
use CGI::FastTemplate;
my $tpl = new CGI::FastTemplate("/some/directory");
$tpl->no_strict();
$tpl->define(main => "test.htm");
$tpl->assign(TEST_CONTENT=> "Test");
$tpl->parse(CONTENT => "main");
$tpl->print('CONTENT');
< html>
< head>
< title>TEST< /title>
< /head>
< body>
$TEST_CONTENT
< /body>
< /html>
为什么我在浏览器中看不到所需的输出?当我导航到test.cgi文件时,我看到的只是实际的代码,而不是模板。我做错了什么?
答案 0 :(得分:11)
您正在查看代码而不是程序的输出,因为您尚未将Web服务器配置为执行程序,因此它默认为以text / plain方式提供文件。
如何配置它取决于您使用的服务器软件。例如,请参阅Apache 2.2 CGI docs。
其次,shebang线丢失了。该计划应从以下开始:
#!/usr/bin/perl
其中/usr/bin/perl
是您希望使用的Perl可执行文件的路径。
此外,并没有解决问题:
use strict;
和use warnings;
。在你正在使用的任何Perl程序中都应该有样板文件,因为它们会遇到很多问题。