我正在使用 PerlDancer
和Template::Toolkit
。
我正在尝试创建一个通用例程,该例程将传递一个模板和 HTTP GET/POST 参数。
我需要找到一种方法来获取模板中的变量列表,以便我可以从参数中检索它们,或者如果缺少一个或多个,则返回错误。
我可以走一条丑陋的正则表达式路线,但我希望有一种更好/更清洁的方式。
所有的模板都是 XML/SOAP,到处都有一些变量。
有任何想法吗?
我正在使用 PerlDancer
和Template::Toolkit
。
我正在尝试创建一个通用例程,该例程将传递一个模板和 HTTP GET/POST 参数。
我需要找到一种方法来获取模板中的变量列表,以便我可以从参数中检索它们,或者如果缺少一个或多个,则返回错误。
我可以走一条丑陋的正则表达式路线,但我希望有一种更好/更清洁的方式。
所有的模板都是 XML/SOAP,到处都有一些变量。
有任何想法吗?
如果您TRACE_VARS
在模板上下文中启用该选项,那么您可以使用该variables
方法获取所有访问值的哈希值。
此代码显示了一个简短的示例
use strict;
use warnings;
use Template::Context;
use Data::Dump;
my $template = '[% person.name %] <[% person.email %]>';
my $context = Template::Context->new(TRACE_VARS => 1);
my $compiled = $context->template(\$template) or die $context->error;
my $variables = $compiled->variables;
dd $variables;
输出
{ person => { email => {}, name => {} } }