#test.pl: use HTML::Template; my $tmpl = HTML::Template->new(filename => 'test.tmpl'); $tmpl->param( Loop1 => [ { Loop2 => [ {name => "me"}, {name=>"another"} ] }, { Loop2 => [ {name => "you" } ] }, ]); print $tmpl->output(); # and test.tmpl.