Your "Pick A State" complicates things a little, but still, compare your template to

[% options = [ '' ]; cgi.popup_menu( 'state', options.merge( states ), '', { '' => 'Pick A State, Any State' } ); %]

Update: ah, I didn't even notice that you were handling stickiness via the SQL query. I think that just goes to prove my point though. It is a very neat hack, granted — I might use it in a short script that's about as complex as what you have. However, you are coupling the SQL, the query parameter names and the template very tightly that way. If you do that sort of thing in 30 places of a larger codebase, it'll become annoying to maintain very quickly.

Makeshifts last the longest.


In reply to Re^4: Tag libs for Template Toolkit by Aristotle
in thread Tag libs for Template Toolkit by johnnywang

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.