(no title)
drabbiticus | 7 months ago
For those without perl readily accessible to them, 'v102.111.111' becomes 'foo' and 'v128513' gives you a smiley emoji.
I'm not sure I even want to know.
drabbiticus | 7 months ago
For those without perl readily accessible to them, 'v102.111.111' becomes 'foo' and 'v128513' gives you a smiley emoji.
I'm not sure I even want to know.
mananaysiempre|7 months ago
... Yeah, I don’t know who thought this was a good idea either. I mean, I know versions sort lexicographically and strings do too, but no.
Bonus points:
> If there are two or more dots in the literal, the leading v may be omitted.
So 1 and 1.1 denote numbers, but 1.1.1 and 1.1.1.1 denote strings. I guess there’s a sort of syntactic pun to be had with IPv4 addresses. Still, no.
Bonus bonus points:
> Note that since Perl 5.8.1 the single-number v-strings (like v65) are not v-strings before the => operator (which is usually used to separate a hash key from a hash value); instead they are interpreted as literal strings ('v65').
So v1 always denotes a string, but which string it denotes is context-dependent.
[1] https://perldoc.perl.org/perldata#Version-Strings
kstrauser|7 months ago
It's not so much weakly typed as randomly typed.