I am starting to learn Perl and I have coded few tools (converters, calculators, etc.) to get some practice, I easily included these tools into my website just changing the extension .pl to .cgi and adding this line:

print "content-type: text/html \n\n";

so..when should I start using catalyst and why? if the scripts I have coded so far work perfectly without using any web framework.


Catalyst is an object-oriented, MVC (Model, Controller, View) architecture for Perl. The reason you use it is for writing big multi-tiered applications. Look into MVC and you can find out why there's an advantage to writing with such an architecture. It is componentized and it is built for testing of application. There's also a couple of object-relational bindings. It's advanced stuff though. If you want to write enterprise-level apps, catalyst is probably the way to go. If you want to use CGI, then, not so much. Catalyst is not really suited to using CGI as the front-end. It's better to use mod_perl or something that doesn't have a first-run performance penalty like CGI (that is something that is cached). The nice thing about catalyst is that CPAN provides many components that are pre-written.