Actually, the result of 0/0 is indetermined, since any number times 0 is 0.
So true. Besides, if 0/0 is 1, then is 2*0/0 == 2, or 1?
There is no universal numerical solution for 0/0, which is something that is required for a computation not to produce an error.
The closest you can get to a universal solution is the rule of de l'Hopital (SP?), which said that with f(x) = u(x)/v(x) and u and v simultaniously approaching zero for x -> x0, that then lim(x->x0)(f(x)) = lim(x->x0)(u/v) = u'(x0)/v'(x0), the ratio of derivative functions. The wanted numerical value depends entirely on the value of u'(x0) and v'(x0). Those can be the same, in which exceptional case the result would be 1, but it's far more likely that you should get something vastly different from 1. For example, for sin(x)/x in x==0, the ratio is cos(0)/1==1 (ooh what a coincidence!).
In short: if you don't want an error for 0/0, it's your responsibility for handling that exception, not perl's.
| [reply] |