Here are some answers (all IMNSHO unless otherwise noted):
There are sadly too many evil^Wuseful ways that people have used them to permit their wholesale destruction. However, the use of v-strings as $VERSION is not recommended except in Perl 5.8.1 or better. The short story is that until the magic v-strings were introduced with 5.8.1, it is impossible to tell whether a given scalar was originally created via a v-string (i.e. it is a lossy transform in the tokenizing phase).
However, Larry has indicated that the leading 'v' numbers will be used in Perl6 to be version objects (which may or may not be implemented in the same way as version.pm and 5.10.0 does). So I think that by the time Perl6 is out, the use of code like this will be eliminated:
my $crlf = v13.10;Yes, that is actual code in the wild!
Someone asked about a way to be very specific about what versions of a module could be used, so I created version::Limit to specify exactly which releases were compatible. If you value a strong API, it may be useful to you. NOTE: that this module is most useful with Perl 5.8.1 or better, so you can use bare v-strings and have it mean what you think it means.
If you want to use arbitrary version strings, like 1.2b2, and still have them sort like you would like them to, you might find version::AlphaBeta useful; then again, you might be insane. ;)
I hope this helps more than it confuses things.
John PeacockIn reply to Re: Seeking thoughts on version numbers in modules
by JPeacock
in thread Seeking thoughts on version numbers in modules
by xdg
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |