如何在字符串而不是文件上使用 Template Toolkit?

发布于 2024-07-09 02:08:02 字数 97 浏览 8 评论 0原文

我有一些从数据库中提取的字符串,我想对它们使用模板工具包,但我似乎不知道如何使用字符串作为 TT 输入。 有小费吗?

谢谢!

-fREW

I have some strings that I am pulling out of a database and I would like to use Template Toolkit on them, but I can't seem to figure out how to use strings as TT input. Any tips?

Thanks!

-fREW

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟凡古楼 2024-07-16 02:08:03

来自 docs:(

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

看起来我应该先刷新页面发帖。)

From the docs:

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

(Looks like I should have refreshed the page before posting.)

素染倾城色 2024-07-16 02:08:03

您可能会发现 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 %]';

You may find String::TT as a nicer alternative way of doing it. Some teasers from the 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(",") %]
   }
}

and...

my $scalar = 'scalar';
my @array  = qw/array goes here/;
my %hash   = ( hashes => 'are fun' );

tt '[% scalar %] [% scalar_s %] [% array_a %] [% hash_h %]';
櫻之舞 2024-07-16 02:08:02

文档解释道:

流程($模板,\%vars,$输出,%选项)

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

       # text reference
       $tt->process(\$text)
           || die $tt->error(), "\n"

The documentation explains:

process($template, \%vars, $output, %options)

The process() method is called to process a template. The first parameter indicates the input template as one of: a filename relative to INCLUDE_PATH, if defined; a reference to a text string containing the template text; ...

       # text reference
       $tt->process(\$text)
           || die $tt->error(), "\n"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文