use strict; use warnings; for(-3 .. 3) { print s2u($_), "\n"; } sub s2u { sprintf("%u", $_[0]) + 0; } __END__ OUTPUT: 18446744073709551613 18446744073709551614 18446744073709551615 0 1 2 3