Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

rjbs (4671)

rjbs
  (email not shown publicly)
http://rjbs.manxome.org/
AOL IM: RicardoJBSignes (Add Buddy, Send Message)
Yahoo! ID: RicardoSignes (Add User, Send Message)

I'm a Perl coder living in Bethlehem, PA and working Philadelphia. I'm a philosopher and theologan by training, but I was shocked to learn upon my graduation that these skills don't have many associated careers. Now I write code.

Journal of rjbs (4671)

Friday July 16, 2004
09:04 AM

module::starter

[ #19888 ]

Another module I've been collaborating on is Module::Starter. Basically, I'd seen Module::Starter and Module::Setup::Template show up around the same time that I was pondering writing a n2pm (where n is "nothing") tool to replace h2xs, which I hate hate hate. Module::Setup::Template was my initial first-choice, because I didn't like the skeleton .pm files created by Starter and it wasn't, well, templated. After looking at both, though, I decided that Starter looked easier to hack on. I talked to Andy, who seemed neither excited nor put off by the changes, but was pretty open to looking at patches.

The first order of business was to make Module::Starter into a class, so that I could subclass it. Then I split up all the output-producing bits into their own subs, so they could be overridden without overriding the file-creation bits. That, plus some other stuff, got rolled into what is now Module::Starter 1.22

I committed a new Module::Starter to CVS this morning; it's all plugin-based, although the plugins are more like mixins. I'll document it tonight or this weekend sometime, and maybe we'll get a developer release out this weekend. I do like the Perlish versioning that Andy uses, with 1.21_0n versions preceding 1.22. I might start using it myself, but it would stop me from using my CVS revision number as the version. The thing is, of course, that CVS numbers are convenient for me, but not very meaningful.

Either way, Module::Starter will be available as a pluggable module Soonish. I've already got a few plugins (template storage, TT2, etc) written, and I've got a few more to write. Most of those, I think, will go in their own distributions.

Andy and I aren't working closely on every change, but it's still nice to be collaborating. I wonder if I'll ever be doing this at work.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • As the author of Module::Template::Setup, could you please tell me why you did not choose Module::Template::Setup. I would very much like to know if there is something I need to change. Not so much module-wise but perhaps more in my coding style.

    Well if you have the time anyway :)
    • Don't I feel silly for saying Module::Setup::Template over and over? (I do.)

      I'm not sure I could really say specifically what it was. I think part of it was the lines in new() that assign to $self's defaults. There are four pairs of lines that are very similar, which always makes me uncomfortable, especially if I'm just skimming. That occurs again in _get_data. I think that was probably the brunt of it.

      I didn't spend a lot of time making this decision. ;)

      I think there are definitely ways in which M
      --
      rjbs
      • Oh, great, well I know a refactoring is necessary at some point, but since I am not completely satisfied with the current state of MTS I have not thought about making a refactoring yet.

        I need to get the installation proces going correctly. When this part works I would consider MTS to have met the initial goals.

        After this a refactoring is will probably be a good thing.

        Thanks for the great feedback...