Here is a working example for creating tables in PDF using your structures. I was not able to understand what the loop was for. Can you modify it to demonstrate the problem that you have ?.

#!/usr/bin/perl use strict; use warnings; use PDF::API2; use PDF::Table; use Data::Dump 'pp'; my $data = { 1=>{ 'main' => [ [ '12345', 'MONICA', '01/01/1900','0X10' ], [ '000001', 'MARY L', '01/01/2000','0111P' ], [ '8884', 'JOHN M.','01/01/1932','0OK8' ],], 'type' => [ ['Main','1900','Red'], ['APT', '1290','Blue'], ['AVAL','1921','Green'],], 'princ' => [ ['Q3.0', 'OK','1900-01-01','N','O','O','X','Y'], ['12w','PL','2000-01-02','N','P','O','X','A'],], }}; my $pdftable = new PDF::Table; my $pdf = new PDF::API2( -file => "table.pdf" ); my $page = $pdf->page; $pdf->mediabox(842, 595); foreach my $num ( keys %{$data} ) { my $main = $data->{$num}{main}; unshift @$main,["Account", "Name", "Date", "Code #"]; #pp $main; my $type = $data->{$num}{type}; unshift @$type,["HOUSE", "YEAR", "COLOR"]; #pp $type; my $princ = $data->{$num}{princ}; unshift @$princ,["AC #","Name", "DATE", "Ref","Case #1","Case #2", " +Case #3", "Case #4"]; #pp $princ; #for my $i ( 0 .. $#{ $main } ){ # more stuff my $y = 500; (undef,undef,$y) = add_more( data => $main, y => $y ); (undef,undef,$y) = add_more( data => $type, y => $y-10 ); (undef,undef,$y) = add_more( data => $princ, y => $y-10 ); #} } $pdf->save; sub add_more{ my (%args) = @_; my $data = $args{data}; my $y = $args{y}; $pdftable->table( $pdf, $page, $data, -x => 100, -start_y => $y, -next_y => 700, -start_h => 300, -next_h => 500, -w => 570, -padding => 5, -column_props=>[ map{ { justify => 'center' } }1..@{$data->[0]} ], ); }
poj

In reply to Re^5: Can't use string as an ARRAY ref by poj
in thread Can't use string as an ARRAY ref by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.