By a solution, I assume you mean is there a way to use the
table() and
div() functions without the memory jump. I'm not familiar much with the internals of CGI.pm, but I suspect the memory usage is due to a copy of the data being made in the function call. Each
Tr(td(blah)) call creates a string. Then the
table(@rows) call copies all those strings into a bigger string which it then returns. Your alternative skips the creation of the intermediate variable and just prints the existing pieces individually. If my understanding is correct. Then your second example is in fact a solution. If you really want to get the output of the table() function, you could do something like the following:
- Get your @rows like you already do
- Call table(), giving it a known short junk string as the data, e.g. table('<tr><td></td></tr>').
- Split the output of the table() function on this junk string. You should get two items, the beginning and ending table tags and any associated attributes or other acoutrements.
- Then print directly to your file handle the table start portions, your @rows, and the table end portion.
--DrWhy
"If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.