in reply to CGI.pm table function memory usage

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:

--DrWhy

"If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."