Am I off base in my interpretation?
I suspect so, but it's hard to say without a better look at the actual code in context that produces the error. I tried this template fragment out with some basic code to fake up the data, and got no errors (code and output below). Assuming that you can run this code without errors, can you try to find and post the shortest piece of code and template you can come up with that
does produce the error you're seeing?
#!/usr/bin/perl
use strict;
use warnings;
use Carp 'verbose';
use HTML::Template;
my $temp_text = <<EOT;
<select name="type">
<tmpl_loop name="TYPE">
<option value="<tmpl_var name="n_event">" <tmpl_var name
+="sel">> <tmpl_var name="t_event">
</option>
</tmpl_loop>
</select>
EOT
my $tpl = HTML::Template->new(scalarref => \$temp_text);
my @ary = map {n_event => $_, sel=>$_,t_event=>$_},
qw(foo bar baz cliche trope);
$tpl->param(TYPE=>\@ary);
print $tpl->output;
__END__
<select name="type">
<option value="foo" foo> foo
</option>
<option value="bar" bar> bar
</option>
<option value="baz" baz> baz
</option>
<option value="cliche" cliche> cliche
</option>
<option value="trope" trope> trope
</option>
</select>
If God had meant us to fly, he would *never* have given us the railroads.
--Michael Flanders