Ken Williams wrote:
That won't work. All those tools evaluate the version line in isolation, not by loading the modules and checking the value of $VERSION. In other words, when Module::Build::Base's version is checked, Module::Build won't be loaded, so the version would be undef.
Ahh, good point! That leaves targeting the regex to exclude the fake $VERSION assignment _or_ adding a real $VERSION assignment to M::B::Base upstream of the other usage.
Alternatively, the code in M::B::Base that only /looks/ like a $VERSION assignment can be removed and the M::B fixed to work correctly under 'use version;' since, as I keep saying, that code is the only code that exists in bleadperl. 'use version;' is a pragma and has no effect with bleadperl or better:
bootstrap version if $] < 5.009;
I think this is likely the best route in the long term, since M::B is going to have to play nice with version objects if it is going to go into the core for 5.10.0...
John
-- John Peacock Director of Information Research and Technology Rowman & Littlefield Publishing Group 4501 Forbes Boulevard Suite H Lanham, MD 20706 301-459-3366 x.5010 fax 301-429-5748
