Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: Template Modules in Core

by SimonClinch (Deacon)
on May 13, 2011 at 15:37 UTC ( #904691=note: print w/replies, xml ) Need Help??

in reply to Template Modules in Core

I am used to having this kind of client environment, so I tend to use my own template processing, for example putting placeholders in a file, e.g. __ID__ and using bog-standard substitution. A useful standard tool in unix is the C preprocessor which, with a little Perl programming around it, can be used for fairly comprehensive templating of just about anything, in spite of it being designed for C language preprocessing. In fact a home-grown templating module based on the C-preprocessor could be worth doing if the requirement is a persistent one.

One world, one people

Replies are listed 'Best First'.
Re^2: Template Modules in Core
by pileofrogs (Priest) on May 13, 2011 at 17:58 UTC

    Big ups m4! (m4 is the C-preprocessor) Update: or is it...? D'oh! no it's not! It's a macro language that, I think, originally came with sendmail... I suck!

    I use m4 all the time for random stuff. I find it's best for jobs that require you to type the same or similar stuff over.. and over.. and over.. but not so good for stuff that requires calculating something. EG my nagios configs are really repetitive, so m4=good. Making a dynamic web page: m4=not-so-good. A good mix would be a perl script that generates an m4 file full of definitions which m4 places in the result files. Aaannd of course you'd have a Makefile to make that easy to use. Aaaand you'd use m4 to make the Makefile less of a hastle... Aaaand you'd use perl to make the m4 less dumb....


    Yeah, usually around this point I realise I should have stayed away from m4...

    Did I mention that I suck...?

      m4 has indeed become more popular even on non-linux platforms. Although it isn't the cpp, it is certainly descended from it. It can be awkard with Perl templating because Perl has a much too flexible syntax. But for that reason Perl needs it the least. However, I can't see any problem using m4 or the cpp with say HTML templating - no conflict of syntax for example.

      One world, one people

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://904691]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2017-10-22 22:52 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (275 votes). Check out past polls.