in reply to 'use integer;', or Manipulating 64-bit values, revisited
The bitwise noop 0 | $foo normally forces unsignedness, but use integer; interferes with that, too.The no integer; pragma has lexical scope, so you can wrap it up in a bareblock with the unsigned operations.
perl -Minteger -e'my $foo = 2**63-1 ; $foo = 2*$foo;print $foo,$/; { n +o integer; print 0|$foo,$/;}' -2 18446744073709551614
After Compline,
Zaxo
|
|---|