$Spreadsheet::Edit::VERSION = 999.999; # intended to be over-ridden in released dist our $VERSION = 3.024; # VERSION from Dist::Zilla::Plugin::OurPkgVersionMy intention was for the second assignment to be effective, i.e. to set VERSION=3.024. I didn't realize that PAUSE and the tester system textually search for the first such assignment. I deleted the release via pause, but many test machines have it installed and think they have version 999.999 and therefore refuse to update the module when something requires a later actual version such as 3.029.
My question: Is it safe to bump the actual version to 1000.001 to fix this, or will a primary version with more than 3 digits break something?
--------------------
If you wonder why I did such a thing, here is why:
I maintain several CPAN modules and, in my personal sandbox I want to use the working trees of these modules by default (i.e. eat my own dog food); and so I put /path/to/src/Module-Foo/lib etc. as the first items in PERL5LIB. That way my development code will be used instead of whatever version might have been installed with cpanm in my local::lib area.
Fine. Until I needed to require a minimum version e.g. "use Spreadsheet::Edit 3.029;" which bombed because there is no $VERSION variable in the working tree code. $VERSION variables were inserted only when building a release tarball using Dist::Zilla. I use the OurPkgVersion plug-in which inserts "our $VERSION = ...;" before a "# VERSION" comment, which of course is still just a comment in my working tree.
So I inserted a hard-coded assignment setting VERSION to "infinity" before the # VERSION comment, so that my working tree code would satisfy any "use ... version" requirement. The result, in the released code, was the pair of assignments shown above.
In reply to Is VERSION > 999 allowed? by jimav
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |