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

packetstormer has asked for the wisdom of the Perl Monks concerning the following question:

Hello

I have a strange problem where an arrayref I send to Template, using Dancer, isn't being displayed correctly. I can't see the woods for the trees now so I hope someone can spot what I am doing wrong! The test arrayref rolls out fine, but the files arrayref just prints the hashrefs to screen!??

use Dancer; use DBI; use Template; use Data::Dumper; set 'database' => 'files.db'; set 'log' => 'debug'; set 'logger' => 'console'; get '/' => sub { my $db = connect_db(); my $sql = 'select * from table'; my $sth = $db->prepare($sql) or die $db->errstr; $sth->execute or die $sth->errstr; my $files = $sth->fetchall_arrayref({}); template 'show_entries.tt', { 'files' => $files, 'test' => [1,2,3,4,5] }; }; sub connect_db { my $dbh = DBI->connect("dbi:SQLite:dbname=".setting('database') ) or + die; return $dbh; }
And the template file:
<% FOREACH line IN files %> <% line.title %><br /> <% END %> <br /> <% FOREACH also IN test %> <% also %> <% END %>