Perl Template Toolkit - 如何将模板输出结果返回到变量中?

Fan*_*mX1 3 perl template-toolkit

Perl 模板工具包 - 如何将模板输出结果返回到变量中,以便稍后可以在控制器中对其进行处理或放入 html 布局中。

Fan*_*mX1 5

答案是,结果输出的变量必须作为第三个参数通过引用传递

$template->process(
        'dir/template.tt',
        {
            'par1'      => $par1,
            'par2'     => $par2,
        },
        \$output
    )   

Run Code Online (Sandbox Code Playgroud)

它在文档中间接提到,但从相当详细和技术的描述中可能并不明显(在我看来不清楚,几乎听起来没有选择将其作为变量传递,除非它是实现 print 变量的回调,事实并非如此)

该值可以是以下之一: 指示将打开的文件名(相对于 OUTPUT_PATH,如果已定义)和写入的输出的纯字符串;打开准备输出的 GLOB 文件;对附加输出/错误的标量(例如文本字符串)的引用;对被调用子例程的引用,将输出作为参数传递;或任何实现 print() 方法的对象引用,该方法将被调用,并将生成的输出作为参数传递。

https://metacpan.org/pod/Template#process($template,-%5C%25vars,-$output,-%25options)

即使在谷歌中搜索它也不能轻松地提供特定的链接结果,并且只能在多次尝试使用查询“perl template toolkit在变量过程中输出模板内容”后提供非常晚的结果

  • 我已经提交了一个拉取请求(希望)使这些选项的文档更容易理解。https://github.com/abw/Template2/pull/284 (2认同)