Hi Gabor, Thank you very much for your help. I appreciate your answer and all the wonderful tutorials at perlmaven, but so far I am unable to get this answer to work for me. My my hash %season seems to look the same as your %payload but when I try your solution only the name of the player is displayed. I do not use 'use Template'; in my backend code and am not really sure what the exact role of create.pl, is it for teaching purposes or is there a step within it that I must apply to get my %season to look like your %payload before I return it to my Dancer app? I will continue to experiment with your solution and try to find a place where I can post exactly what I am getting as a result. Thanks again, Richard 2020-08-23 7:18 GMT-05:00, Gabor Szabo <gabor@szabgab.com>:
I am not sure if this is what you meant, but using your data I wrote two examples here: https://perlmaven.com/template-toolkit-hash-of-hash
Gabor
On Sun, Aug 23, 2020 at 12:33 AM Richard Reina <gatorreina@gmail.com> wrote:
I have the following perl multidimensional hash that is passed from Dancer to Template Toolkit as a hash reference. I am having trouble figuring out how to display it in Template Toolkit.
$VAR1 = { 'TylerMontgomery(2022)' => { 'so' => 1, 'bb' => 1, 'rbis' => 0, 'atbats' => 7, 'runs' => 2, 'hits' => 2 }, 'ChaseLangan(2022)' => { 'runs' => 4, 'hits' => 4, 'atbats' => 5, 'bb' => 0, 'rbis' => 2, 'so' => 1 }, 'BryceJones(2021)' => { 'hits' => 2, 'runs' => 2, 'atbats' => 4, 'bb' => 1, 'rbis' => 4, 'so' => 1 }, };
This is how I iterate it in perl.
foreach my $name (sort keys %season) { printf "%-27.27s", "$name: "; foreach my $stat (sort keys %{ $season{$name} }) { printf "%-12.12s", "$stat: $season{$name}{$stat} "; ## cal. avg $season{$name}{AVG} = $season{$name}{hits} / $season{$name}{atbats}; }
printf "%4s %.3f\n", "avg:", $season{$name}{AVG}; }
I then pass it back to my dancer app as a ref. with return \%season; and then to template toolkit with:
template 'softball.tt' => {
'title' => 'Get Softball Season Stats', 'Season' => $season,
}, {};
But I am lost trying to get it to display with template toolkit. Here's what I've tried so far.
<table style="width:100%; line-height:40px;"> <% FOREACH Season = Season %> <tr> <td width="5">Season.key <% Season.key %></td> <td width="5">Season.val <% Season.value %></td> <td width="5">Season.val.atbats <% Season.value.atbats %> <td width="5">Season.val.hits <% Season.value.hits %> </tr> <% END %>
Thanks for any help. _______________________________________________ dancer-users mailing list dancer-users@lists.preshweb.co.uk https://lists.preshweb.co.uk/mailman/listinfo/dancer-users