We run a number of applications in a mod_perl environment and seperate much of our business logic from display logic using CGI::Prototype and Template Toolkit. We'd like to cut down on the size of the memory footprint of some of our applications and one of the worst offenders is the building of large popup menus. Currently, we build the array and hash for the popup menus and pass them to the template which calls the CGI->popup_menu method for us.

What I'd like to do is take advantage of the convenience of the CGI module's helper methods like popup_menu, but I'd like to pass in a statement handle and have it iterate through the results to save on memory bloat. I have ideas of how I could do this myself -- sub-class CGI, and override the popup_menu method to check if $args->{-value}->isa('DBI::st') perhaps? -- but I'm curious if anyone knows of existing CPAN modules that would provide this functionality for us? My searches to this point have not turned up anything.

perl -e 'split//,q{john hurl, pest caretaker}and(map{print @_[$_]}(joi +n(q{},map{sprintf(qq{%010u},$_)}(2**2*307*4993,5*101*641*5261,7*59*79 +*36997,13*17*71*45131,3**2*67*89*167*181))=~/\d{2}/g));'

In reply to Passing a sth to CGI form element methods by agianni

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.