while ( @tmpl_array ) { my ($loop, $aref) = splice @tmpl_array,0,2; my @vars; while (@$aref) { my ($name, $url) = splice @$aref,0,2; push @vars, { name => $name, url => $url }; } $tmpl->param($loop, \@vars; }