Comment on Perlsecret – Perl secret operators and constantsComments−omoikane8moI didn't know ~- and -~ had a name, I have been using them in many (non-production) places where I wanted to save 2 bytes.But looks like Perl's implementation is more limited compared to other languages: % perl -e 'print ~-(0), "\n"' 18446744073709551615 % ruby -e 'print ~-(0), "\n"' -1 https://metacpan.org/dist/perlsecret/view/lib/perlsecret.pod...−shawn_w8moYou're not using `integer` in the perl example like you're supposed to. Try perl -Minteger -E 'say ~-0' and it should work as expected.−omoikane8moThat is true, but for the kind of code where I might use this trick, there usually aren't enough `~-$x` for `use integer;` to be worthwhile, I would just do `($x-1)` instead.
Comments
I didn't know ~- and -~ had a name, I have been using them in many (non-production) places where I wanted to save 2 bytes.
But looks like Perl's implementation is more limited compared to other languages:
https://metacpan.org/dist/perlsecret/view/lib/perlsecret.pod...You're not using `integer` in the perl example like you're supposed to. Try
and it should work as expected.That is true, but for the kind of code where I might use this trick, there usually aren't enough `~-$x` for `use integer;` to be worthwhile, I would just do `($x-1)` instead.