in reply to html::template loops not showing data

Please consider not using HTML::Template in the first place. I strongly (update:) disagree with the underlying design philosophy and believe many other toolkits are better suited most tasks. For one, there is XML::Generator.

It is much easier to iterate over lists as well as creating deep and complex HTML nodes. Let me know if you want an example.

  • Comment on Re: html::template loops not showing data

Replies are listed 'Best First'.
Re^2: html::template loops not showing data
by Corion (Patriarch) on Jul 12, 2009 at 10:52 UTC

    The main reason people use a templating system is to separate output formatting from the code. I fail to see how XML::Generator can provide something like that, as it only provides Perl code as the mechanism for creating the output, and no way of "fill out this template".

      Yes - XML::Generator doesn't separate code from the design, so if thats a high priority, its surely the wrong module to use.

      My main concerns with HTML::Template is the lacking support for deep structures. Its a very "flat" way of inserting values and doesn't really do much of the hard work, you'd expect. For one, traversing deep reference structures.

      Another big drawback is that you have no guarantee that you're generating valid XML (or xhtml) with HTML::Template.

      If designing separate view components (as in MVC) or something of the sorts, using XML::Generator to write smaller components is really straightforward and more reliable. You do lose the ability to use code-less templates, but in this era of xhtml and css, its not as important any longer.

Re^2: html::template loops not showing data
by Anonymous Monk on Jul 12, 2009 at 09:19 UTC
    That is not a very persuasive argument :)