Basically, you say "makepmdist Foo.pm" and it does some very minimal sanity-checking on Foo.pm, then makes a temp directory in which it copies Foo.pm, makes a Makefile.PL, a README, a MANIFEST, and a t/test.t. Details of the contents of the Makefile.PL and the t/test.t are controlled by optional =for blocks in the Foo.pm file. (It also does some nice things like make sure that the Foo.pm that gets disted is in Unix newline format and has a $VERSION; and it warns about any ridiculously long lines in the file.) Then it makes test, dist, clean, moves the resulting
I wrote this because someone at YAPC about two years ago said it'd be nice if disting a module were a one-step process; and I liked that idea. Well, it almost is one-step now, if the module is simple enough (i.e., no XS, and is the only module in the dist), and if you don't count the part about actually submitting it to PAUSE, which would bring this to an aching TWO steps.
I would appreciate if people would look at the program at its temporary location, at
and consider its docs, and test it out if you can, and let me know how it works for you.
You probably have questions, and they are probably answered in the Pod that's at the end of that program file.