On Tue, Mar 01, 2005 at 08:13:46AM +0000, Fergal Daly wrote:
> On Mon, Feb 28, 2005 at 07:55:36PM -0600, Eric Wilhelm wrote:
> > I like the one where you get the mathematically-correct (or at least
> > mathematically-useful) infinity.
> >
> > $perl -le 'use bigint; $x = 1/0; print $x+1'
> > inf
> >
> > $perl -le 'use bigint; $x = 1/0; print 1/$x'
> > 0
>
> and what should these print?
>
> $perl -le 'use bigint; $x = 2/0; print $x*0'
>
> $perl -le 'use bigint; $x = 1/0; print ($x+1)-$x'
>
> $perl -le 'use bigint; $x = 1/0; print ($x*2)/$x'
>
I don't know, but I do know that having the interpreter crap out
is not helpful to most of us simpletons who find phrases like "core dumped"
not especially user friendly.
Maybe if there is a divide by zero you could set one of the cussword
variables ([EMAIL PROTECTED]@#$!) in addition to returning undef or inf,
whatever. Then
if you mathematically correct types don't like the result you can make your
own, or go back to crapping out by kill(SIGBUS,$$).
I suppose I could try to create a use divide 0/undef/inf/crap pragma.
Then you could do whatever you want. You'd still get a surprise if you ever
forgot it though..
Austin