http://qs1969.pair.com?node_id=11114716


in reply to Re^7: $VERSION in module files
in thread $VERSION in module files

I take it you mean that they do something like a grep for '\$VERSION\s*=' and then execute that line/statement in isolation?

I just checked, cpanm uses Parse::PMFile, its _parse_version is fairly complex*, and its code apparently borrows from PAUSE::pmfile, the latter of course being the indexer for pause.perl.org. Then there's Module::Info's version, which borrows its code from ExtUtils::MM_Unix... I suspect there's probably a couple more variations on this kind of code out there.

* Its comments also show some very interesting ways some modules set their versions: my $version = atan2(1,1) * 4; $Acme::Pi::VERSION = substr("$version", 0, 16); :-)