Dominus in the Text::Template docs

When people make a template module like this one, they almost always start by inventing a special syntax for substitutions. For example, they build it so that a string like %%VAR%% is replaced with the value of $VAR. Then they realize the need extra formatting, so they put in some special syntax for formatting. Then they need a loop, so they invent a loop syntax. Pretty soon they have a new little template language.

This approach has two problems: First, their little language is crippled. If you need to do something the author hasn't thought of, you lose. Second: Who wants to learn another language? You already know Perl, so why not use it?

Rob Nagler in the "Re: Doubts about nested %if in spec file" thread on the Redhat RPM mailing list

Me not Pythoneer. Me Perler. Greenspun used Tcl for ACS. The commonality is that we don't invent our own languages to solve our problems.

Rob Nagler in the "Re: separating C from V in MVC" thread on the modperl mailing list

Andy Wardley writes: > Because Perl is a general purpose programming language. > TT implements > a general purpose presentation language. A different > kettle of fish altogether. These are the reserve words of TT: GET CALL SET DEFAULT INSERT INCLUDE PROCESS WRAPPER IF UNLESS ELSE ELSIF FOR FOREACH WHILE SWITCH CASE USE PLUGIN FILTER MACRO PERL RAWPERL BLOCK META TRY THROW CATCH FINAL NEXT LAST BREAK RETURN STOP CLEAR TO STEP AND OR NOT MOD DIV END Looks an awful lot like the same keywords in any general-purpose programming language.

Considered by htoug: "Point out that the original node has been heavily updated" (keep/edit/delete vote = 7/31/2).
Unconsidered by davido: Consideration reason documented. No further action requested.