0

正常的使用方式HTML::Template如下:

主文件:

my $template = HTML::Template->new(filename => 'secret.tmpl');
$template->param(SECRET_MESSAGE => $bar);
print $template->output;

秘密.tmpl:

<h1>Hello <TMPL_VAR NAME=SECRET_MESSAGE></h1>

问题是,我可以在不创建单独文件的情况下使用该模板引擎——即即时生成模板的内容吗?

或者也许它可以与任何其他模块一起使用?

4

1 回答 1

1

是的,可以使用HTML::Template:它的构造函数与存储在标量(作为整个文本块)或数组(逐行)中的模板一起使用。像这样:

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');
于 2013-05-18T16:18:20.487 回答