in reply to help with start_table of CGI.pm

you missed attributes declaration:
print CGI->start_table({-border=>1, -cellspacing=>0, -cellpadding=>1})

This feature is documented is in CGI's manual (man CGI):

A large number of routines in CGI.pm actually aren’t specifically defined in the module, but are generated automatically as needed. These are the "HTML shortcuts," routines that generate HTML tags for use in dynamically-generated pages. HTML tags have both attributes (the attribute="value" pairs within the tag itself) and contents (the part between the opening and closing pairs.) To distinguish between attributes and contents, CGI.pm uses the convention of passing HTML attributes as a hash reference as the first argument, and the contents, if any, as any subsequent arguments.
--
AltBlue.

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.