>>>>> "Bernard" == Bernard Golden <[EMAIL PROTECTED]> writes:

Bernard> $VAR1 = [
Bernard> {
Bernard> '1991' => {
Bernard>     '2002' => 0,
Bernard>     '1992' => '5',
Bernard>     '2000' => '1',
Bernard>     '1998' => '1'
Bernard>             }
Bernard> },
Bernard> {
Bernard> '1992' => {
Bernard>     '2002' => 0,
Bernard>     '1999' => '1',
Bernard>     '2003' => '7',
Bernard>     '1993' => '7',
Bernard>     '1994' => '1',
Bernard>     '1996' => '1',
Bernard>     '2000' => 0,
Bernard>     '2001' => '1',
Bernard>     '1998' => '2'
Bernard>             }
Bernard> },
Bernard> {
Bernard> '1993' => {
Bernard>     '2002' => '19',
Bernard>     '1999' => '17',
Bernard>     '2003' => '43',
Bernard>     '2004' => '15',
Bernard>     '2005' => 0,
Bernard>     '1993' => '3',
Bernard>     '1994' => '37',
Bernard>     '1995' => '13',
Bernard>     '1996' => '13',
Bernard>     '2000' => '25',
Bernard>     '1997' => '10',
Bernard>     '2001' => '36',
Bernard>     '1998' => '15'
Bernard>             }
Bernard> },

Bernard> I wish to create a table with the year on the left, and the
Bernard> counts for each of the subsequent years strung out to the
Bernard> right of that year.

Here's one way:

    $ tpage
    [%

    var1 = [
    {
    '1991' => {
        '2002' => 0,
        '1992' => '5',
        '2000' => '1',
        '1998' => '1'
                }
    },
    {
    '1992' => {
        '2002' => 0,
        '1999' => '1',
        '2003' => '7',
        '1993' => '7',
        '1994' => '1',
        '1996' => '1',
        '2000' => 0,
        '2001' => '1',
        '1998' => '2'
                }
    },
    {
    '1993' => {
        '2002' => '19',
        '1999' => '17',
        '2003' => '43',
        '2004' => '15',
        '2005' => 0,
        '1993' => '3',
        '1994' => '37',
        '1995' => '13',
        '1996' => '13',
        '2000' => '25',
        '1997' => '10',
        '2001' => '36',
        '1998' => '15'
                }
    }];

    FOR year_tuple = var1;
      start_year = year_tuple.keys.0;
      end_year_hash = year_tuple.$start_year;
      end_years = end_year_hash.keys.nsort;
      start_year; ":\n";
      FOR end_year = end_years;
        "  -> "; end_year; " = "; end_year_hash.$end_year; "\n";
      END;
    END;

    %]
    ^D
    1991:
      -> 1992 = 5
      -> 1998 = 1
      -> 2000 = 1
      -> 2002 = 0
    1992:
      -> 1993 = 7
      -> 1994 = 1
      -> 1996 = 1
      -> 1998 = 2
      -> 1999 = 1
      -> 2000 = 0
      -> 2001 = 1
      -> 2002 = 0
      -> 2003 = 7
    1993:
      -> 1993 = 3
      -> 1994 = 37
      -> 1995 = 13
      -> 1996 = 13
      -> 1997 = 10
      -> 1998 = 15
      -> 1999 = 17
      -> 2000 = 25
      -> 2001 = 36
      -> 2002 = 19
      -> 2003 = 43
      -> 2004 = 15
      -> 2005 = 0
    $


-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[EMAIL PROTECTED]> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

_______________________________________________
templates mailing list
[EMAIL PROTECTED]
http://lists.template-toolkit.org/mailman/listinfo/templates

Reply via email to