4

我从数据库中提取了一些字符串,我想在它们上使用 Template Toolkit,但我似乎无法弄清楚如何将字符串用作 TT 输入。有小费吗?

谢谢!

-fREW

4

3 回答 3

11

该文档解释说:

过程($模板,\%vars,$output,%options)

调用 process() 方法来处理模板。第一个参数将输入模板指示为以下之一: 相对于 INCLUDE_PATH 的文件名,如果已定义;对包含模板文本的文本字符串的引用;...

       # text reference
       $tt->process(\$text)
           || die $tt->error(), "\n"
于 2008-11-24T17:52:30.810 回答
4

文档

# text reference
$text = "[% INCLUDE header %]\nHello world!\n[% INCLUDE footer %]";
$tt->process(\$text)
    || die $tt->error(), "\n";

(看起来我应该在发布之前刷新页面。)

于 2008-11-24T18:03:23.097 回答
2

您可能会发现String::TT是一种更好的替代方法。豆荚里的一些预告片......

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 %]';
于 2008-11-24T19:50:35.127 回答