Perl HTML模板-哈希数组
我有两个哈希数组:第一个包含当前时间间隔的值,第二个包含前一个时间间隔的值Perl HTML模板-哈希数组,perl,loops,perl-html-template,Perl,Loops,Perl Html Template,我有两个哈希数组:第一个包含当前时间间隔的值,第二个包含前一个时间间隔的值 @AoHcurrent= ( { node => "ABC", link => "DEF", time => "10:00", value => "100", }, { node => "FGH", link => "IJK", time => "10:00", value => "200"
@AoHcurrent=
( { node => "ABC",
link => "DEF",
time => "10:00",
value => "100",
},
{
node => "FGH",
link => "IJK",
time => "10:00",
value => "200",
},
);
@AoHprevious=
( { node => "ABC",
link => "DEF",
time => "09:45",
value => "10",
},
{ node => "FGH",
link => "IJK",
time => "09:45",
value => "50",
},
);
我现在想使用HTML模板来呈现这些数据。比如:
NODE LINK VALUE
---------------------
ABC DEF 100(10)
FGH IJK 200 (50)
括号中的值表示以前的值
my %html_template_parameters =
( AOHCURRENT => \@AoHcurrent,
AOHPREVIOUS => \@AoHprevious, );
my $html_template=qq{Report.tmpl};
my $html_output=qq{Report.html};
htmlReport($html_template,$html_output,\%html_template_parameters);
其中,htmlReport是生成报告的函数
我需要有关定义Report.tmpl文件的指导
提前感谢您仅凭HTML::Template无法使用两个单独的列表。而试图用HTML::Template::Expr实现这一点将是一场维护的噩梦。尝试将它们折叠到一个列表中,在该列表中合并哈希数据。另请参见 我给出了一个例子,说明如何用HTML::Template::Compiled解决这个问题 基本上,您可以像下面这样浏览参数隐藏:
[%= expr=".AOHPREVIOUS[__index__]{'value'}" %]
或者使用经典语法:
<TMPL_VAR expr=".AOHPREVIOUS[__index__]{'value'}" >
从阅读文档开始。当你遇到一个没有他人帮助你无法解决的问题时,请提出一个具体的问题。