【发布时间】:2010-09-23 19:19:27
【问题描述】:
我从数据库中提取了一些字符串,我想在它们上使用 Template Toolkit,但我似乎无法弄清楚如何将字符串用作 TT 输入。有什么建议吗?
谢谢!
-fREW
【问题讨论】:
标签: perl template-toolkit
我从数据库中提取了一些字符串,我想在它们上使用 Template Toolkit,但我似乎无法弄清楚如何将字符串用作 TT 输入。有什么建议吗?
谢谢!
-fREW
【问题讨论】:
标签: perl template-toolkit
文档说明:
过程($template, \%vars, $output, %options)
调用 process() 方法来处理模板。第一个参数将输入模板指示为以下之一: 相对于 INCLUDE_PATH 的文件名(如果已定义); 对包含模板文本的文本字符串的引用; ...
# text reference
$tt->process(\$text)
|| die $tt->error(), "\n"
【讨论】:
来自docs:
# text reference
$text = "[% INCLUDE header %]\nHello world!\n[% INCLUDE footer %]";
$tt->process(\$text)
|| die $tt->error(), "\n";
(看来我应该在发布之前刷新页面。)
【讨论】:
您可能会发现String::TT 是一种更好的替代方法。来自 pod 的一些预告片...
use String::TT qw/tt strip/;
sub foo {
my $self = shift;
return tt 'my name is [% self.name %]!';
}
sub bar {
my @args = @_;
return strip tt q{
Args: [% args_a.join(",") %]
}
}
还有……
my $scalar = 'scalar';
my @array = qw/array goes here/;
my %hash = ( hashes => 'are fun' );
tt '[% scalar %] [% scalar_s %] [% array_a %] [% hash_h %]';
【讨论】: