http://www.perlmonks.org?node_id=812024

jking has asked for the wisdom of the Perl Monks concerning the following question:

Fellow monks;

I'm tired of programming Python all day. For my next back-40 project, I'd like to try building a web application in Perl. I keep reading all the blog posts about Moose, Mojolicious, KiokuDB, and other neat projects and I'm green with envy. I miss Perl!

I'm curious what insights the monks can offer in how to package web applications. I'm thinking of using Module::Build, but am really open to suggestions. My main concern is how one would package a Mojolicious-based application; but general advice about how to include an executable script for starting the application would be appreciated as well.

Also, I've become a bit of a fan of sandbox development environments by way of scripts such as zc.buildout and virtualenv in the Python world. Is there any such equivalent in Perl?

Thanks in advance for all of your replies.

print$_%15?$_%3?$_%5?$_:'Buzz':'Fizz':'Fizzbuzz' for 1..100;

Replies are listed 'Best First'.
Re: packaging web applications
by zwon (Abbot) on Dec 09, 2009 at 20:42 UTC
Re: packaging web applications
by Arunbear (Prior) on Dec 10, 2009 at 11:16 UTC
    App::Build is a good choice for web applications because it makes it easy to deploy the template files, CSS and Javascript files as well.

    If you're going to be running on a Linux that supports RPMs, you can add an extra step and use cpan2rpm to convert the distribution into an RPM (which makes it easy to manage both Perl and non Perl dependencies).

Re: packaging web applications
by jethro (Monsignor) on Dec 10, 2009 at 10:19 UTC
    I prefer Module::Build, but that is largly a question of taste as long as nothing complicated is asked for. I guess Build should be cleaner and more powerful than MakeMaker, but its just that, a guess.

    Maybe not really what you asked for, but: I can recommend module-starter (frontend to Module::Starter) together with Module::Starter::Smart to generate the module tree. Works with Module::Build and MakeMaker.

Re: packaging web applications
by draegtun (Scribe) on Dec 11, 2009 at 11:24 UTC

    For a virtualenv equivalent take a look at local::lib

    /I3az/