Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl HTML模板-哈希数组_Perl_Loops_Perl Html Template - Fatal编程技术网

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'}" >

从阅读文档开始。当你遇到一个没有他人帮助你无法解决的问题时,请提出一个具体的问题。