http://www.perlmonks.org?node_id=206385


in reply to Trouble with TMPL_LOOP assignment

This looks like a problem with the data structure you're feeding to HTML::Template. Try
use Data::Dumper; print Dumper(\@liblog);
to see what you've got. Also to get interesting info about what went wrong,
use CGI qw/:standard/; use CGI::Carp qw(fatalsToBrowser warningsToBrowser); print header;
at the head of your script will give you the useful HTML::Template error info, inter alia.

Specifically in your case I may well be missing a bit of syntax, but I think %$item->{'ActionID'} probably ought to be $item->{'ActionID'} - otherwise you'll get an annoyingly interesting data structure? Or, did you initialise $viewliblog_page as an HTML::Template object? - this isn't clear from the chunk you posted

Also, you could save a bit of effort by modifying the elements in @log rather than creating a new array, as in
for my $item (@log) { $item->{UID} = GetItemFromDB('RealName','UID',$item->{'UID'},'User +') $item->{ActionID} = GetItemFromDB('ActionName','ActionID',$item->{ +'ActionID'},'Action'); }


§ George Sherston