http://www.perlmonks.org?node_id=514623


in reply to modules, auto generated code and content management

Is there not a nice Mason or Template Toolkit solution to this problem?

Phil

Replies are listed 'Best First'.
Re^2: modules, auto generated code and content management
by dimar (Curate) on Dec 06, 2005 at 20:56 UTC

    The goal is to reduce dependencies on templating systems. They are nice, but they don't do anything perl can't do alone. Moreover, Perl, Mason and TT all have easy solutions to Problem1, but that still does not address Problem2.

    There needs to be a way to output the content of the 'body' variable without having the 'inherited' portions interpolated. I was hoping for insight on how to address this issue, or at least workarounds from others who have encountered this specific issue before, assuming there are others.

    As far as I can discern, the only solution (be it TT, Mason, or whatever else) would be to convert the module code into some 'intermediate' format (XML, YAML, some other 'markup') and then 'scrape' the content out that way, thus avoiding interpolation of interspersed variables in the text

    =oQDlNWYsBHI5JXZ2VGIulGIlJXYgQkUPxEIlhGdgY2bgMXZ5VGIlhGV

      You're absolutely right - templating systems don't do anything that perl can't do without them. Well, not quite. Templating systems usually can offer a much more simplified view of the data. Content, with no logic. That's what templating is for.

      How I generally approach this problem is to put my content in templates, and put the retrieval of data in the code. In your case, I would use the "include" facilities of most templating systems to put the common header and footer into header and footer templates:

      <tmpl_include header.tmpl> Dear <tmpl_var fname> <tmpl_var lname>, It has come to our computer's attention that your account is 30 days past due. You don't really want our computer mad at you - last time it was mad at me, it conveniently lost half my email and mangled the crap out of my automated scripts. With you, I predict adding some zeros somewhere in the middle of your account balance. Please pay up before the computer sends a hitman to your house. Thanks, HAL <tmpl_include footer.tmpl>

      I'm really not sure what you mean by "republish" or "auto-generate perl" modes. Something tells me that you're looking for extra work with those.