Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

problems using dynamic tables in perl cgi

by polki (Novice)
on May 13, 2009 at 13:28 UTC ( #763750=perlquestion: print w/replies, xml ) Need Help??
polki has asked for the wisdom of the Perl Monks concerning the following question:

Hi guys, I'm having a problem with Perl CGI creating tables of previously unknown length. This is what the doc says about the usage:
print table({-border=>undef}, caption('When Should You Eat Your Vegetables?'), Tr({-align=>CENTER,-valign=>TOP}, [ th(['Vegetable', 'Breakfast','Lunch','Dinner']), td(['Tomatoes' , 'no', 'yes', 'yes']), td(['Broccoli' , 'no', 'no', 'yes']), td(['Onions' , 'yes','yes', 'yes']) ] ) );
From this I followed, that the Tr command takes a hash as first parameter and an array containing the tds as second parameter. Please correct me if I'm wrong there.
Now that's what I did ($c is my CGI object): I pushed several values onto an array
... iterate over results from database request ... { push (@rows, $c->td([$firstvar, $secondvar, $thirdvar])); }
Later the same day:

print $c->table( {-border=>'0',-align=>'Center'}, $c->Tr({-align=>'Left'}, @rows) );

Unfortunately the result is no nice table, but instead a flat table with all values in one row...
So where is the crash in my thoughts?

Replies are listed 'Best First'.
Re: problems using dynamic tables in perl cgi
by explorer (Chaplain) on May 13, 2009 at 13:40 UTC

    You need a new deep level of reference:

    print $c->table( {-border=>'0',-align=>'Center'}, $c->Tr({-align=>'Left'}, [ @rows ]) );

      Thanks very much! That did it... :)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://763750]
Approved by tbone1
[stevieb]: I don't know what you mean. I write the code in C/C++ that accesses the ICs per the datasheet, wrap it for Perl, then use them. My code ensures that the functions/methods from Perl do the right thing for the chips/sensors etc
[stevieb]: At least that's what I'm working on right now. I've also been updating my automated test software Test::BrewBuild so it handles this work properly. It's not really easy meshing high level languages with low-level hardware :)

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2017-06-25 23:10 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (572 votes). Check out past polls.