The perldelta included with Perl 5.6.1 provides a little detail:
Support for strings represented as a vector of ordinals
Literals of the form "v1.2.3.4" are now parsed as a string composed of characters with the specified ordinals. This is an alternative, more readable way to construct (possibly Unicode) strings instead of interpolating characters, as in ""\x{1}\x{2}\x{3}\x{4}"". The leading "v" may be omitted if there are more than two ordinals, so "1.2.3" is parsed the same as "v1.2.3".
Strings written in this form are also useful to represent version "numbers". It is easy to compare such version "numbers" (which are really just plain strings) using any of the usual string comparison operators "eq", "ne", "lt", "gt", etc., or perform bitwise string operations on them using "|", "&", etc.
As it turns out, 5.6.0 is pretty much just another way to write "\x5\x6\x0":
$ perl -e 'printf "%02X ", ord for split //, 5.6.0; print "\n"'
05 06 00
$ perl -e 'printf "%02X ", ord for split //, "\x5\x6\x0"; print "\n"'
05 06 00
conv
In reply to Re: v1.2.3 syntax
by converter
in thread v1.2.3 syntax (vector of ordinals)
by John M. Dlugosz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |