Another Perl project

| 6 Comments

Whenever starting another Perl project, the very first command you should run better be the following:

$ module-starter --module=My::Module --author="[your-name]" \ 
                 --email=[your-email] --builder=Module::Install

This provides the developer with a basic environment for writing solid Perl code, e.g. a new directory called My-Module with all the good stuff ready for use:

MANIFEST
README
ignore.txt
Makefile.PL
Changes
lib/My/Module.pm
t/pod-coverage.t
t/pod.t
t/00-load.t
t/boilerplate.t
t/manifest.t

After that it's the following, and off you go.

perl Makefile.PL
make
make test
make install

Life couldn't be easier could it?

6 Comments

Of course life could be easier. You could just type

dzil new Your::Module

After a one-time installation of Dist::Zilla and run dzil setup, that's all you need to get started. Then you just edit your dist.ini file a little bit to have dzil create your MANIFEST, README, LICENSE, etc. All of the boiler-plate stuff that you would normally do.

See Dist::Zilla's website for more info.

Never knew about it, thanks. I'll check it out (and probably end up using it instead).

Well actually it could be easier. Just create a ~/.module-starter/config configuration file and include the options in it which are always repeated:

author: [your-name]
email: [your-email]
license: artistic
builder: Module::Install

Now the command is simpler and looks like this:

$ module-starter --module=My::Module

Thanks for the configuration example. I missed this option, too. But the default location is ~/.module-starter/config, isn't it?

You're right, thanks. I corrected it.

+1 For Dist::Zilla.

Dist::Zilla by default leaves files out of your working dir that you don't need to edit and injects them into the build at build time.

And since DZil 4, you can fully customize the generated project for the things you *do* need to edit ( previously It just threw in a dist.ini and an empty module ):

http://www.dagolden.com/index.php/955/creating-new-distributions-with-distzilla/

xdg++

Leave a comment

Recent Entries

Clojure one-liner
I am convinced that the new programming language called Clojure has alot of potential and if successful will fundamentally ... »
Trusting yourself
An excellent book that I've been reading is called Management 3.0 by Jurgen Appelo. The book has all kinds ... »
Remembering and then forgetting
There is that last fleeting moment right before you fall asleep when your mind empties of all thought and ... »
Zuma
Being stuck in the middle of a huge traffic jam just south of Amsterdam is no fun, especially when ... »
Running in the cold
Most people of sound mind would find it extremely difficult to understand that inner urge of mine which keeps ... »