I see the point you're trying to make, but I think choosing templating systems as the point of focus misses an obvious point: invent wheels by all means, but make sure that you're not trying to invent something in an overcrowded domain.

Templating systems are not difficult to write, they don't have to do much, and there aren't many different ways of doing it. It's just a glorified macro processor. And Perl is naturally good at that sort of stuff. Writing the 85th templating system is not going to set the world on fire: you are never going to achieve significant market share. Inertia, and worse is better will kill you before you build any momentum up.

Now a place where I'd be happy to see a wheel or two invented is in the realm of LDAP processing. Net::LDAP is great, but it's low level. It takes half a dozen statements just to get an encrypted session going. The error handling is bezerk. The LDAP query language has a funny lisp-like syntax. But you specify what you want to get back as a list. Some of the things you get back have one value. Some have one or many values. Some always have many values. Sometimes you want to move a bunch of leaves in an LDAP branch according to some criteria. Sometimes you want to do search and replace missions. Sometimes you want to add an attribute to a whole pile of objects.

Doing these sorts of ad-hoc operations with a few lines of user code is my grail. It is really, really hard. With Net::LDAP, you wind up writing a lot of make-work code. I've been writing a lot of bespoke code to do this stuff for a few years now. Despite my best efforts and stepping back and looking at what I write, trying to synthesise a more generalised approach that doesn't sacrifice flexibility, the solution remains elusive.

If you come up with a concise method for specifying general LDAP operations with short, idiomatic Perl code and the world will beat a path to your door. Write a new templating system, and no-one will ever hear you.

• another intruder with the mooring in the heart of the Perl


In reply to Re: What's wrong with re-inventing wheels by grinder
in thread What's wrong with re-inventing wheels by jimt

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.