在你的情况下,你不需要嵌套循环。
您的模板文件更改为:
Name | Start | End | |||
和你的代码:
#!/usr/bin/perl
use warnings;
use strict;
use HTML::Template;
my $template=HTML::Template->new(filename=>'template.txt');
my @dogs=(#dogs data
{dogname=>'Dog',start=>'04-02-1996',end=>'06-19-2011',breed=>'Terrier',sex=>'Male',color=>'Brown',eye=>'Green',weight=>'10 Pounds',attr=>'bla bla'},
{dogname=>'Dog',start=>'03-04-1985',end=>'06-01-1988',breed=>'Retriever',sex=>'Female',color=>'Black',eye=>'Green',weight=>'50 Pounds',attr=>'bla bla'},
);
my %labels=(
ldogname=>'',
lstart=>'',
lend=>'',
lbreed=>'Breed: ',
lsex=>'Sex: ',
lcolor=>'Color: ',
leye=>'Eye Color: ',
lweight=>'Weight: ',
lattr=>'Attribute: '
);
for my $dog (@dogs) { #mix labels and values
while (my ($k,$v)=each %labels) {
$dog->{$k}=$v;
}
}
$template->param(dogs=>\@dogs);
print $template->output;
,你将有所需的输出。