David는 Template::Toolkit을 사용하는 구문과 제안에 대해 정확합니다. 또는 다른 템플릿 모듈.
다음은 스크립트의 DATA 섹션에있는 템플릿에서 페이지를 생성하는 간단한 예입니다.
물론 템플릿 파일을 분리하여 재사용하고 결합 할 때 실제적인 힘이 생깁니다. 여기
#!perl
use strict;
use warnings;
use Template;
my $page_data = {
title => 'DL Demo',
data => [
{ terms => ['One Term'],
data => ['One Definition'],
},
{ terms => [qw(Many Terms)],
data => ['One Definition'],
},
{ terms => ['One Term'],
data => [qw(Many Definitions)],
},
],
};
my $tt = Template->new() or die "Ugh";
$tt->process(\*DATA, $page_data);
__DATA__
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
<head>
<title>[% title %]</title>
</head>
<body>
<div id="header">
<a href="/index.html" class="logo" alt="Home Page"></a>
<h1 class="headline">[% title %]</h1>
</div>
<div id="data">
<dl>
[% FOREACH item = data %]
[% FOREACH term = item.terms %] <dt> [% term %] </dt> [% END %]
[% FOREACH defdata = item.data %] <dd> [% defdata %] </dd> [% END %]
[% END %]
</dl>
</div>
</body>
</html>
출력입니다 :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
<head>
<title>DL Demo</title>
</head>
<body>
<div id="header">
<a href="/index.html" class="logo" alt="Home Page"></a>
<h1 class="headline">DL Demo</h1>
</div>
<div id="data">
<dl>
<dt> One Term </dt>
<dd> One Definition </dd>
<dt> Many </dt> <dt> Terms </dt>
<dd> One Definition </dd>
<dt> One Term </dt>
<dd> Many </dd> <dd> Definitions </dd>
</dl>
</div>
</body>
</html>
당신이 엄격한 사용'사용; 경고를 사용한다; 포함 된 코드에 구문 오류가 있습니다. – Ether
오래된 CGI.pm을 사용하지 마십시오. 대신 [Dancer] (http://www.perldancer.org/) 또는 [Mojolicious] (http://mojolicious.org/)와 같은 현대적이고 깨끗한 웹 엔진을 사용하십시오. – dolmen