Submitting a CPAN module

2/26/2007 - Patrick (updated on 11/13/2017)

We're in process of moving from our internal wiki from MediaWiki to XWiki. To achieve this goal, I've written a dialect plug-in to the HTML::WikiConverter, a framework that converts raw HTML to a given wiki dialect. More on that on that in a later article. To give the community the source back we've decided to submit the new module to CPAN, the Perl module archive.

To actually commit something you have to become a Perl author. To become a Perl author you need to apply for an account on the PAUSE (Perl Authors Upload Server). Using the PAUSE interface, it's a matter of two minutes to fill in some fields. What could take a while is the approval process since its done by hand. After two hours, my account was ready and I was able to log in.

Packing the module

After getting my account info, I tried to locate information about what my packed model should contain. Failing to find anything on that matter (apart from the fact that every .pm needs to have a version), I've taken another module as a template.

My Module has the following structure:


Short change history, not much as of now


Makefile, generated by perl MakefilePL


Make file generator


List of files


Meta description of the module, built automatically


Readme generated by perldoc


My module


Test if the module can be loaded


Checks the README and Changes files


Checks if the package Test::Pod::Coverage is installed


Checks if the package Test::Pod is installed


Needed by xwiki.t


Runs a few tests (~90) to see if we're generating sane output


perl Makefile.PL
make dist

I've got all files tar'ed, zipped up and ready to upload.

Namespace or not?

After the upload you are encouraged to register your namespace. But it doesn't say what that has to do with indexing or getting your module listed. Disregarding all that, I've registered the namespace HTML::WikiConverter::XWiki and am still awaiting confirmation.


Meanwhile the indexer has reached my module and it's available for download here. Or, even more conveniently, via cpan:

perl -MCPAN -e 'install HTML::WikiConverter::XWiki'

Sign up for our Newsletter