Luk*_*uke 3 perl templates cgi module
#!/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');
Run Code Online (Sandbox Code Playgroud)
< html>
< head>
< title>TEST< /title>
< /head>
< body>
$TEST_CONTENT
< /body>
< /html>
Run Code Online (Sandbox Code Playgroud)
为什么我在浏览器中看不到所需的输出?当我导航到test.cgi文件时,我看到的只是实际的代码,而不是模板.我究竟做错了什么?
Que*_*tin 11
您正在查看代码而不是程序的输出,因为您尚未将Web服务器配置为执行程序,因此默认将文件作为text/plain提供.
如何配置它取决于您使用的服务器软件.例如,请参阅Apache 2.2 CGI文档.
其次,shebang线丢失了.该计划应从以下开始:
#!/usr/bin/perl
Run Code Online (Sandbox Code Playgroud)
/usr/bin/perl您希望使用的Perl可执行文件的路径在哪里.
此外,并没有造成这个问题:
use strict;和use warnings;.在您使用的任何Perl程序中都应该有样板,因为它们会遇到很多问题.