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


in reply to Re^2: html::template and large files
in thread html::template and large files

Greetings xmerlin,

I would avoid using @$log1, 2, 3, etc. Whether you have the data stored in one array or fifteen array references, it's still in memory. You aren't going to gain anything by splitting the data into multiple array references (other than ending up with more complex code).

Just put all the data in @log, then give HTML::Template a reference to the data. (ex. \@log) Also, you may want to avoid using the font tag in your HTML.

<tmpl_loop name="log"> <tmpl_if name="error"><span style="color: red"></tmpl_if> <tmpl_var escape="html" name="logLine"><br/> <tmpl_if name="error"></span></tmpl_if> </tmpl_loop>

From the perspective of usability, it's hard for me to see much value in presenting 100,000 lines of log in a single browser window. Why not present 1,000 lines in a page? Then you can paginate the rest and give the user forward and backward buttons. Maybe adding a search feature would be helpful. Anyway, I don't know your problem domain, so maybe you have a special case, but I'd have a hard time using a web page that just dumped a huge log into the browser. I'd encourage you to look into other ways to present this data.

gryphon
Whitepages.com Development Manager (DSMS)
code('Perl') || die;