Perl : Standard Application development approach

156 views Asked by At

There are whole lot of options for web Application development using Perl, such as

  • Perl CGI/Fast CGI
  • mod_perl
  • Use of any frameworks like Catalyst/Dancer
  • There's a new object system called Moose

I have done programming in basic Perl for around a year now, building back-end scripts for some automation etc.

With all sorts of things on offer, what is a really good combination of frameworks/modules/approach for application development.

2

There are 2 answers

0
Dave Cross On BEST ANSWER

First thing to be aware of is that you don't want to care about the deployment of your app. So don't think about mod_perl, FCGI or anything like that. Instead, write your app to the PSGI specification and then you'll be able to deploy it into any environment you want.

Most (probably all) modern Perl web frameworks have built-in PSGI support. So if you write a Catalyst (or Dancer or Mojolicious or ...) app then it will already be written to work with PSGI.

Personally I use Dancer for most of my own projects. Clients seem to prefer Catalyst - probably because it's better known and more powerful. Other people like Mojolicious. And you might consider starting out with Web::Simple.

It's hard to know what to recommend without knowing more about your specific project. Why not try them all out and see which one you like best.

1
Sobrique On

I use perl primarily for sysadmin support. So that's mostly - run lots of stuff on lots of servers type tasks, and the odd 'web page' front end.

I've been porting recently away from CGI towards Mojolicous with an nginx reverse proxy on the front end. The reason I picked it up in all honesty, because I liked the name (And any system that includes servers called 'morbo' and 'hypnotoad' is also rather fun).

Because I'm using nginx in front of it with a 'static ish' config, I can hook my http and https ports, and apply common standards for authentication, access and logging. But I can also run concurrently a combination of apps and static content (on multiple hosts if necessary).

Hypnotoad seems to work very nicely for running a preforking app instance, and morbo works well as a dev server. Because of the proxy, running 'pre-live review' on like for like infrastructure is also quite appealing.

I can't really offer much in the way of scalability and performance - that rather depends on a lot of other things. The stuff I'm doing is primarily data manipulation and graphing, so more disk IO based.