Suprisingly I do. Strict has an overhead (needs to be loaded as does warnings). For testing I use them but they offer little benefit in a module which should be fully tested and strict and warnings compliant (which this is), If you want strict and warnings operational put it in your code and they will then be operational on the imported functions. The forced on you comment refers to the overhead not the scope.
Ah. My favorite here is the snap_units() function. There was a time when I was playing around with rounding fractions of stock shares -- to the nearest 1/8 or 1/16 value -- before the exchanges I was focused upon switched to arbitrary decimal representations of stock shares.
In the CB, tye suggested the following change in snap_units() to avoid potential rounding errors:
The drawback is that for fractional cases, $units must be 1/N, where N is an integer. I'm not super clear on the potential rounding errors; nor am I clear on the potential utility of arbitrary $units. Perhaps certain people can elucidate for our edification.
As it happens Math::Round offers the nearest(UNITS, NUM) function that does exactly this. As the snap_basic() function is legacy dross and significant figures are handled by Math::SigFigs I have decided to delete this module as it does not offer anything not already available. This is a pity as I really liked the name. See Fix floats like you do in your head for more discussion and rationale.