CPAN addition of the...

ethan on 2003-05-11T08:27:54

month: Plot.

Initially I thought the author simply didn't write the PODs etc for the module. But no, he simply uploaded a bare stub as created by h2xs. I wonder whether this happened because he used some sort of upload-script for the PAUSE and hitted TAB a little too vigorously.


Plot of Shame

zool on 2003-05-11T22:08:18

to my chagrin i must admit to being the author of this module :)

extenuating circumstances; i was in a rush to catch the last train home after a hacksesh, and wanted to upload SVG::Plot to slot in with kake's dependencies (cf CGI::Wiki and OpenGuides).

it being a while since the last (and first) time i put a module on CPAN, i'm not overfamiliar with h2xs or make dist and make tar-dist.

to my further chagrin this morning, i realised i'd not only put the module in the wrong namespace, but hadn't actually included the code. Kake showed me the way and the light, for which i am deeply grateful; there've been two more point releases since then.

An edge case quite this inane and dubious is pretty difficult to account for in any sensible automated module-checking, but perhaps my slightly intoxicated stupidity has provided some food for thought ;) i've never met a CPAN packaging HOWTO; a 'do you really want to do this' function might be useful on PAUSE ... (perhaps with an option for "don't let me upload this if it's after N o'clock at night in my personal timezone...")

i hope this has caused more amusement than it has consternation and despair, anyway.

Re:Plot of Shame

ethan on 2003-05-12T05:59:09

i hope this has caused more amusement than it has consternation and despair, anyway.

It's not a big deal really. Since I am very much afraid of upload-mistakes myself I double- and triple-check the tarballs that leave my computer. And not even that can prevent some silly but unpleasant errors. My favourite one is forgetting to increase $VERSION.

Auto-increasing $VERSION

mhx on 2003-05-13T11:52:54

My favourite one is forgetting to increase $VERSION.

Mine too. But if you're using some sort of revision control system, you can simply do something like

$VERSION = substr q$Revision: 3.14 $, 10;

which it's done in a lot of modules or

($VERSION) = '$Revision: 3.14 $ ' =~ /\$Revision:\s+([^\s]+)/;

as suggested by ExtUtils::MakeMaker.