perl - 模板::工具包变量处理

标签 perl templates toolkit

我正在使用 perl 中的 TT,并尝试插入模板并处理一个变量,该变量本身包含 TT 指令。

所以,在脚本中,我写的是:

$var{descr} = "[% pid = 1; INSERT plink.par %]";

然后在 TT 模板中(收到\%var):
[% BLOCK parsedDescr %]
[% descr %]
[% END %]
<p>[% INCLUDE parsedDescr %]

我希望 pid 变量设置为“1”,并插入 plink.par 文件。
但相反,我在我的 html 页面上准确获取了变量 descr 的内容:
[% pid = 1; INSERT plink.par %]

即,这个变量保持不被 TT 处理。

我如何让 TT 处理它的内容?

最佳答案

您可以使用 eval filter :

<p>[% descr | eval %]

从链接的联机帮助页:

The eval filter evaluates the block as template text, processing any directives embedded within it. This allows template variables to contain template fragments, or for some method to be provided for returning template fragments from an external source such as a database, which can then be processed in the template as required.

关于perl - 模板::工具包变量处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10710909/

相关文章:

java - 如何在Java中绘制存储在子目录中的图像文件

c++ - 将 MFC 宏与模板一起使用

C++1y/C++14 : Variable Template Specialization?

c++ - 数组类型的模板参数推导

WPF工具包图表: Customize datapoint label

c# - WP工具包 : TiltEffect Doesn't Seem to be Affecting Image

mysql - SQL::Abstract 插入行使用 MySQL 的 now() 值

perl - 如何有条件地包含 Perl 模块和库,以及它们的全局变量

C++ 调用 perl 代码 - eval_sv 不将参数传递给脚本

performance - 使用 'exists' 进行额外的哈希查找?