Or, as tye enlightened me earlier, you can always
use -1 if you have no idea about the number of entries you want,
as -1 prevents split from discarding trailing empty fields:
$newentry = join(":", split(/:/, $_, -1));
Any negative number would do. From perldoc -f split:
"If LIMIT is specified and positive, splits into no more
than that many fields (though it may split into fewer). If LIMIT is unspecified or zero, trailing null fields are
stripped (which potential users of pop() would do
well to remember). If LIMIT is negative, it is treated as
if an arbitrarily large LIMIT had been specified."