使用HTML::Template
的正常方法如下:
主文件:
my $template = HTML::Template->new(filename => 'secret.tmpl');
$template->param(SECRET_MESSAGE => $bar);
print $template->output;
secret.tmpl:
<h1>Hello <TMPL_VAR NAME=SECRET_MESSAGE></h1>
问题是,我可以使用该模板引擎而无需创建单独的文件 - 即,即时生成模板的内容吗?
或许可以使用任何其他模块吗?
答案 0 :(得分:1)
是的,可以使用HTML::Template
:它的constructor适用于存储在标量(整个文本块)或数组(逐行)中的模板。像这样:
my $t_from_scalar = HTML::Template->new(
scalarref => $ref_to_template_text,
option => 'value',
);
my $t_from_array_of_lines = HTML::Template->new(
arrayref => $ref_to_array_of_lines,
option => 'value',
);
实际上,这些情况有两种特定的构造方法:
my $t_from_scalar = HTML::Template->new_scalar_ref(
$ref_to_template_text, option => 'value');
my $t_from_array_of_lines = HTML::Template->new_array_ref(
$ref_to_array_of_lines, option => 'value');