Thanks for your suggestions. I went back and tried some of them with no luck I'm afraid. Here's my code as it is now:
print table({-border=>'1', -align=>'CENTER', -valign=>'TOP'}, Tr({-align=>'CENTER', -valign=>'TOP'}, [ th(\@columns), td(\@data) ] ) ) I tried using map as suggested by Briac Pilpré, but that gave the same output. Here's an example of what the arrays could contain from a PostgreSQL table called "Components" (stored as "text" within the DB): @columns: Subtype Type Components @data: Celeron 766 Computer Lots of stuff Pentium 2 Computer More Stuff ... ... I've checked the contents of each array (by printing them to the browser) and they seem correct. Here I want a table 3 columns across and "x" rows down, but what I get is 3 columns across, and @data scpread out across one row. Another table may require 5 columns across. Problem is I don't know how to code the correct way using CGI.pm. Thanks, Gerry. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]