# from David Golden
# on Sunday 09 August 2009 05:25:
>Remember, this is Module::Build saying: "You're too lazy to specify
>what version of me you need, so I guess I have to read your mind or
>come up with some reasonably sane fallback to protect your from
>yourself."
>
>In that context "0" means "you didn't say, so I guess any version will
>do" and "X.YY" means "the last version I know your end users will be
>able to get from CPAN".
>
>The latter version is now in the repo.
This is a good default. Particularly for those of us who are running
trunk.
Adam is right that this might let an alpha-feature requirement slip
through. But if you need an alpha feature, it's actually better to
just have the alpha version in configure_requires -- because users
*can* satisfy the alpha (even if they have to get it from svn) whereas
nobody can satisfy the next-major-version requirement until it ships.
For a less-fiddly automatic setting of configure_requires, we might want
to have a table of named features mapped to version numbers. But I
would still use alpha numbers in that table - just warn the user during
ACTION_dist() if their required feature is in alpha (implied by being a
bigger number than the last major release extracted from the current
$VERSION.) Maybe some pod with '=item' entries under each =head2
$VERSION section could be cooked into a .pm at build time.
--Eric
--
"Beware of bugs in the above code; I have only proved it correct, not
tried it."
--Donald Knuth
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------