This isn't really a Perl issue, but to clarify, in Oracle data types, precision defines the total number of digits and the scale defines the number of those digits that occur on the right side of the decimal. Thus, the number of possible digits on the left side of the decimal are $precision - $scale while the number of possible digits on the right hand side are $scale.