http://qs321.pair.com?node_id=763750

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?