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

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

I feel a bit foolish asking this, but here goes...

Although I've written many modules over the years, I've never written one for CPAN. Now I'm trying to and finding that the logistics of it are a bit confusing.

As recommended, I started with h2xs. It created a skeleton directory tree like this:

[perrin@charlotte oscon]$ h2xs -AX -n Foo::Bar Writing Foo/Bar/Bar.pm Writing Foo/Bar/Makefile.PL Writing Foo/Bar/test.pl Writing Foo/Bar/Changes Writing Foo/Bar/MANIFEST
Well, this is all good, but now I can't actually load that stub without installing the module, i.e. if I say use Foo::Bar, perl will not find Bar.pm in that structure. I could install the module and edit it, but then how do I bundle it back up for distribution? Do I have to manually copy everything back into place?

Apologies if this is all covered in the MakeMaker docs somewhere that I missed. If someone can give me a good pointer, I'll be happy to RTFM.

For the curious, the module (no, it's not really called Foo::Bar), is part of my presentation for this year's Perl Conference.