My apologies for this comment from the peanut gallery thrown into the middle of a serious discussion, but I found the assumption in John's statement a little surprising: John Peacock wrote: > Yes, that would be an appropriate fix to M::B::Base. Every module > /should/ have a $VERSION assignment, even if it inherits it from the > "master" module in the family. It's just bad luck for you that the > module doesn't have a $VERSION assignment _and_ that the way that Ken > tried to protect M::B from version.pm included something which "looked" > like a $VERSION assignment. I asked a question about the latest thinking on version numbers in modules on perlmonks and got a tremendously wide range of answers -- and certainly no consensus that all modules need a VERSION. In fact, several people went the opposite route, leaving just a single VERSION for the master module so that the distribution version is built correctly and leaving all other modules VERSION-less. http://perlmonks.org/index.pl?node_id=417576 CPAN seems not to care if there's a version -- pulling from the suffix on the distribution tarfile, right (or maybe using a META file)? So this is all just so that M::B and EU::MM can get a distribution version number from a file without actual requiring the file and look at the value of $VERSION directly (since the file may or may not compile in the first place). Thus it seems odd to say that every module must have a VERSION simply because the tools that manage distributions do text-searches for them and might get confused. That doesn't strike me as very perlish. Rather, assume that modules may or may not have a VERSION, and just let the modules like M::B be careful that their use of the phrase VERSION doesn't cause confusion. The suggestion that M::B::Base simply define version seems like an easy solution. It doesn't even need to be $VERSION=$Module::Build::VERSION -- it could be anything so long as it's early enough in the file that other tools find it and stop searching. Regards, David GoldenThread Previous | Thread Next