[dancer-users] How tod displaye aMulti Dimesional Hash in Template Toolkit

Gabor Szabo gabor at szabgab.com
Sun Aug 23 08:18:34 EDT 2020


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 at 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 at lists.preshweb.co.uk
> https://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.preshweb.co.uk/pipermail/dancer-users/attachments/20200823/43ac0e8b/attachment-0001.htm>


More information about the dancer-users mailing list