Perl模板工具包-如何将模板输出结果返回到变量中?

Perl模板工具包-如何将模板输出结果返回到变量中?,perl,template-toolkit,Perl,Template Toolkit,Perl Template Toolkit—如何将模板输出结果返回到变量中,以便以后可以使用控制器将其处理或放置到html布局中。答案是,结果输出的变量必须通过引用作为第三个参数传递 $template->process( 'dir/template.tt', { 'par1' => $par1, 'par2' => $par2, }, \$outp

Perl Template Toolkit—如何将模板输出结果返回到变量中,以便以后可以使用控制器将其处理或放置到html布局中。

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

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

文档中间接提到了它,但从相当详细的技术描述中可能不明显(我认为不清楚,几乎听上去没有将它作为变量传递的选项,除非它是一个实现打印变量的回调函数,事实并非如此)

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


即使是在google中搜索,也不能轻易地提供特定的链接结果,而且只有在多次尝试使用query“perl template toolkit output template contents in variable process”(perl template toolkit output template Content in variable process)后,才会出现非常晚的结果。

我提交了一个pull请求,这将(希望)使这些选项的文档更容易理解。啊,非常感谢,我没想到会有这么快的反馈,特别是在人们对这件事如此投入的情况下,或者在我修改这个问题之前,我一开始可能是那么"正确",,在你发表评论之前,我脑海中闪过一个暂时的想法,我可能会尝试处理该文档,但后来我放弃了,如果在我忙于其他事情的时候,它不能那么简单的话