Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Code Conflation: Considered Harmful?

by CountZero (Bishop)
on Sep 11, 2004 at 12:51 UTC ( #390263=note: print w/replies, xml ) Need Help??

in reply to Code Conflation: Considered Harmful?

I can only speak from personal experience and what works for me does not necessarily work for someone else.

I have made a dynamic website (Apache2 + MySQL + (mod_)Perl). Template::Toolkit provides the templates; some additional "raw" perl left and right for the really tricky things and it all outputs XML, which is then send through an XSLT processor (part of Template::Toolkit), prettyfied by CSS and output as pure HTML to the user's browser.

The Template-layer builds the basics and is easy to modify; XSLT builds the bridge to HTML (if necessary this could be done "client"-side but not all browsers can do it and I don't like to send pure XML to the user. It is far too easy to parse that and "steal" the data); CSS is about the visual aspect.

I find this a nice and clean separation of concern.

With the same effort I could have Toolkit::Template output HTML, but that would be less "clean" as then HTML and logic would again be joined in one file.

With a little bit more effort I could perhaps have used a module to write the XML-output directly, well that is maybe something for the next release!


"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

  • Comment on Re: Code Conflation: Considered Harmful?

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (10)
As of 2018-02-20 14:22 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (271 votes). Check out past polls.