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