I have spent the recent weeks playing with Catalyst, a Perl website development framework. Initially I’ve resented using any form of framework other than something like CGI:: or PHP, and prefered to build my own framework as I’ve needed it.
This current project required me to use a framework in order to meet the deadlines, and that I’ve done. I’m impressed with Catalyst for providing all the needed supporting infrastrucutre, without requiring you to use it in a certain way. Peversely, my biggest complaint about Catalyst is they don’t tell you how to use it the “right” way.
The tutorial exists, and I’ve gone over it in detail, and of course every module, being Perl, has perldoc sitting right there with it, but I still found myself a bit lost with certain aspects. Should I put the extensive database logic right there in Controller? Or should I put it in its own module. How do I access the DBIx model from code in its own module. Is it the “right” thing to pass $c to external code?
Obviously with Perl the answer to the above questions is do what-ever the hell you like, it’s Perl, it’ll sort it out. But there are reasons for development methodologies to exist, and maybe thats my problem. I’ve spent so much time out in the cold, doing my own development my own way, I don’t know how its commonly done.
So now the coder is coming in from the cold.