in reply to Re^2: Convincing Module::Install to put stuff in inc/ (zilla--)
in thread Convincing Module::Install to put stuff in inc/

But I do plan on doing so eventually. I think in the long run I'll be happier: less whining about having to keep version numbers sync'ed across multiple library files, less maintaining of my own cobbled together script for PAUSE uploads, less boilerplate copying, etc.

It sounds more like you are doing it wrong, to me. I see no point in putting the same version number into multiple library files. You don't have to use your own upload script. You can just use CPAN::Uploader which is easy to just jump right into.

I have quite a few modules on CPAN and more not there yet and I don't have anything that I consider "boiler plate". I do sometimes copy an old module when making a new module but that's one short command and just done to get the structure and then to replace 99% of it. And trying to abstract out the common skeleton would be a waste of time because it keeps evolving and there are always parts that fit some modules and not others.

So you haven't hit on a reason why I would benefit from using Dist::Zilla. But it'd have to be a pretty powerful benefit for me to invest the time to get half of CPAN installed and risk having such a huge amount of complexity behind something such that I might have to dive into that much stuff to try to diagnose when something goes wrong.

- tye        

  • Comment on Re^3: Convincing Module::Install to put stuff in inc/ (no zilla++)

Replies are listed 'Best First'.
Re^4: Convincing Module::Install to put stuff in inc/ (no zilla++)
by Oberon (Monk) on May 30, 2012 at 00:18 UTC
    I see no point in putting the same version number into multiple library files.

    I have at least two distros (which is, like, 50% of my total distros <g>) where, every time I bump the version, I have 3 places to change the version number: the Changes file, the main .pm module, and a subsidiary .pm module. And, even in the other two, there's still two places to change it. It's a little thing, but it's irksome when they get out of sync, and isn't that what computers are supposed to do? automate the little, repetitive things?

    You don't have to use your own upload script. You can just use CPAN::Uploader which is easy to just jump right into.

    Yep, my script calls CPAN::Uploader. It also makes sure I remembered to sync my version numbers (at least between Changes and the main module), makes sure I remembered to update Changes at all, does a make disttest for me, commits and tags the code, etc. Basically, it does all the things that DZ does, only I have to maintain it, as opposed to RJBS doing it. ;->

    I have quite a few modules on CPAN and more not there yet and I don't have anything that I consider "boiler plate".

    No? not even the license sections? What about the support sections? Do you use a version section (there's another place to sync that version number ...)? At least the author section would be the same on all of them ...

    So you haven't hit on a reason why I would benefit from using Dist::Zilla.

    Fair enough. Far be it from me to attempt to be a Dist::Zilla evangelist. :-D Like anything in Perl, TMTOWTDI, and DZ will work for some and not for others. IIRC, it was Voltaire who said there are Perl modules which are not for all men, nor for all times. ;->

    But I shan't be surprised if, given 10 years, as Anon notes above, DZ will be some sort of standard in distros. And I won't be upset about it, really. (Of course, I wouldn't be upset if it isn't either. I'm easy that way. <shrug>