What I am trying to communicate / establish is simply like that, a method, a syntax if you like, of structuring an xmlesque sting of characters such that encapsulated within it is a structure which neatly sits the results of various computations together into an output when computed using the simple rules.

That sounds like Scheme, or any system with a tree-based representation of computations and encoding expression evaluation order. The correspondence between XML and S-expressions is well understood.

The problem with textual representations of tree (well, in this case, graph) structures is balancing the cost of serialization and deserialization with the desire for programmer expressivity and maintainability—the same as with any other programming language.

I've written similar code myself. (I suspect a fair percentage of experienced Perl developers have written and discarded their own templating systems.) Performance problems tend to come from not lexing and parsing templates into the appropriate graph structures and instead relying on greedy regular expressions to perform textual substitutions. Your big-O performance is probably abysmal based on the size of the template.


In reply to Re^3: I will be vindicated by chromatic
in thread I will be vindicated by simonodell

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.