Peter Stuifzand

Dist Milla and Pinto

Today I was working on a private module that I use to write web applications. A few weeks ago I found out about Milla. Milla is a plugin bundle for Dist::Zilla, which makes it easy to create Perl modules.

When you’re ready Milla automatically releases your new module to PAUSE. This is really useful for public modules, but not that useful for private modules.


Pinto is like CPAN in a way. It’s really easy to create a private CPAN with it. That’s what I did today. It contains the pintod script that starts a webserver, which is compatible with the CPAN infrastructure. It allows you to install modules from it with cpanm.

With cpanm you use the following command line arguments: --mirror <url> --mirror-only. This way cpanm only uses your mirror.


Milla allows me to automatically release my modules to my private CPAN. The changes was expected and really easy to implement.

I changed my dist.ini from:

[@Milla]

to:

[@Filter]
-bundle = @Milla
-remove = UploadToCPAN

[Pinto::Add]
root          = <my private CPAN URL>

With this config milla creates a release and uploads it to my Pinto server. Now I can use these new modules and install them with cpanm.

© 2023 Peter Stuifzand