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


in reply to Per-distro versioning and dependency specification

Yeah, I disagree with pretty much everything you wrote

use/require work with modules, modules are the basis of reusable code in perl

Forcing the same $VERSION number in every provided package doesn't violate DRY but it also doesn't make sense as a standard or recommended practice

If you know, through consulting various Changes files, and through testing, that your code will only work if you  require CGI 2001; then go ahead and add use CGI 2001; otherwise don't specify a version number

You can use the output of Devel::Modlist and note in the documentation, that your module (or app, whatever) is known to work with this combination of modules/versions

Or you can turn this list into a list of author/distribution-name.tar.gz and create a Task which only installs this combination of dependencies.

Also, you don't say whom this recommendation is intended for :) but clearly anyone writing a lot of code (GAAS with his LWP.../URI... or say authors of Moose ) have already made up their mind and adopted a practice

Replies are listed 'Best First'.
Re^2: Per-distro versioning and dependency specification
by creamygoodness (Curate) on Jun 06, 2012 at 11:55 UTC

    The recommendations are for upstream authors.

    FWIW, Moose's versioning is consistent with what the original post advocates (the version numbers for all modules in Moose-2.0602.tar.gz are synchronized at 2.0602). Downstream users are well-served regardless of whether their dependency specifications reference Moose itself or any number of its subcomponents.