Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

CromeDome (4395)

  (email not shown publicly)
AOL IM: TheOneCromeDome (Add Buddy, Send Message)

Hello, I'm MrCromeDome from Perl Monks. [] See my account there or my home page for more info.

Journal of CromeDome (4395)

Wednesday July 30, 2008
11:28 PM

Trying out some new tools

[ #37061 ]

I've started a new project, and given that it's for my own enjoyment, I have the time to try out a few new things. At the suggestion of rjbs, I'm giving Catalyst, TT, and DBIx::Class a shot.

So far, I've been the happiest with TT. As a long-time HTML::Template user, I am totally drunk with the power that TT provides me with (yes, Uncle Ben, with great power comes great responsibility...). I've been a long-time purist in not wanting to intermingle code with presentation, but as I am finding with TT, there are some things (like how data is formatted) that should be left to the designer to decide. HTML::Template left designers with little ability to do some of those things (though Rhesa and Mark's work on HTML::Template::Plugin::Dot went a long way to bridge that gap).

DBIx::Class... I can't imagine how I lived without it either. While I haven't had some of the issues with Class::DBI that others have had, my company does have some ugly schema in spots that is just not practical to refactor in our current time crunch. Unfortunately, CDBI doesn't deal well with some of the problems in our schema, and because of it, we miss out on some of CDBI's features. DBIx::Class handles these without issue, and the syntactic sugar makes it a pleasure to work with.

Catalyst I am not sold on. Not that I think it's bad, but there's a lot I don't understand about it. CGI::Application has always been simple and straightforward... Catalyst does a lot more for me out of the box, but spotty documentation in spots has sure made it hard for me to figure out how to use some of it. That being said, I love how multiple views and models are handled in Catalyst. It's very sweet.

(and no, I'm not trying to bitch about Catalyst's docs. I might even submit some patches for the docs, time willing).

All in all, it's been a positive experience. I enjoy expanding my horizons, and learning new tools gives me new ideas and appreciation for the tools I have become accustomed to.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • I completely agree that Catalyst is under-documented. If you want to help visit their wiki ( [] )where I hope more and better documentation will appear.

    And as I said in the title Catalyst is getting Mooseified, which from I what I see from Moose could really simplify Catalyst and make it more appealing
    • And as I said in the title Catalyst is getting Mooseified, which from I what I see from Moose could really simplify Catalyst and make it more appealing

      Wow, I didn't know that ... that actually makes it less appealing to me. From what I heard & saw at YAPC::NA '08, Moose has a lot of baggage (installing Moose brings half of CPAN with it, plus the performance demands apps use mod_perl) that in my opinion, costs more than its worth.

      • Catalyst is actually already much more "unappealing" by your metrics.

        Though as someone who is heavily involved in the development of both I think that's a good thing.

        As for startup times, mod_perl/fastcgi/any persistent env is reccomended for Catalyst anyway, starting any app larger than a twitter clone will usually take at least a few seconds.

        Before you criticise things publicly please check the facts. Heavy deps or long startup times are a legitimate concern, but the Moose chang

  • I've always looked at Perl/TT like this:

    Template Toolkit: Printing by default and access control flow via '[% %]'

    Perl: Control flow by default and print out via 'print'

    I agree, there's no sense in being a code/presentation Nazi. When the problem is emitting large chunks of output with very little control flow, then TT makes the best sense.

    Bonus for factoring out presentation to a .tt.html, .tt.css, or .tt.eml file? Syntax highlighting with your editor.