in reply to Seeking thoughts on version numbers in modules
Update:Several people have commented that v-strings are deprecated, but I'm not sure this is entirely true. From what I can see, the "version" object is going into the core, and its documentation suggests that only the leading-v form "v10.2" is being deprecated, whereas bare numbers with two or more decimal places will continue to be treated as v-strings. The documentation for version as included in perl-5.9.1 certainly has a lot to say (almost too much) on the topic. (AM's comment about his/her brain popping is apropos.) Can anyone involved in perl 5.9/5.10/perl6 shed some light on the direction of v-strings?I'm not sure if this will shed any light, but Perl6 will definitely support v-strings. Incidentally I'm one of those who things that even if it may have been an error to introduce them in the first place, it will be an even worse one to remove them altogether; also because with the new autoquoting rules risk of confusion IMHO has been reduced considerably. However you may be interested to read what Larry Wall wrote to me in answer to a related inquiry:
: Incidentally, and on a totally OT basis, I've noticed that Perl6 is : supposed to have v-strings. But (current) 'perldoc perldata' warns that : they won't be there after 5.8: taking all this into account I wonder : wether this would be a wyse choice. I mean: maybe it hasn't been such a : good thing to introduce them in the first place, but now that they're : there, it may be even worse to remove them... The problem wasn't the syntax so much as the semantics. In Perl 6, C<v6> creates a string, not an object, so there's no way to overload its operators to avoid conflicts with other kinds of strings. In Perl 6 C<v6> makes a version object, not a utf-8 string, and they compare using numeric operators instead of string operators. (Perl 5's v-strings had a numeric component that was an old-style floating point number version (5.00401, for instance), and you could compare those numerically. Perl 6 will be able to handle those via MMD without compromising the normal comparison semantics when you compare two version objects with numeric comparisions.)
|
---|