in reply to issue with sprintf..

as an alternative to %f you could format integers as strings with %s.

DB<137> $val=1214395 => 1214395 DB<138> sprintf("%011s", $val); => "00001214395" DB<139> $val="12143951645" => "12143951645" DB<140> sprintf("%011s", $val); => "12143951645"

So no overflow possible, but don't expect numeric conversions of floats then.

There is some documentation about manipulating the size of integers, but I couldn't understand how.¹

Cheers Rolf

( addicted to the Perl Programming Language)

update

¹) tl;dr ;-)

between % and $, but still platform specific

DB<161> $val="12143951645" => "12143951645" DB<162> sprintf("%ll$11d", $val); => -1