I've come across an issue in some test code which I've reduced down. This initially came about because one test module used Math::FixedPrecision and another test module used bignum. The two were not used together until a new test was written which needed both and then stringifcation of Math::FixedPrecision started failing with Can't use an undefined value as an ARRAY reference.
The reduced version is just to simplify the problem, it serves no useful purpose. I also don't understand why "no bignum" does not fix the issue. This works:
use strict; use warnings; use Data::Dumper; { require Math::FixedPrecision; my $one = Math::FixedPrecision->new('2', 2); print Dumper($one); print Dumper("$one"); }
outputting
$VAR1 = bless( { '_m' => [ 2 ], '_es' => '+', '_p' => -2, '_e' => [ 0 ], 'sign' => '+' }, 'Math::FixedPrecision' ); $VAR1 = '2.00';
and this does not work
use strict; use warnings; use bignum; use Data::Dumper; { no bignum; require Math::FixedPrecision; my $one = Math::FixedPrecision->new('2', 2); print Dumper($one); print Dumper("$one"); }
outputting
$VAR1 = bless( { 'value' => [ 2 ], '_p' => -2, 'sign' => '+' }, 'Math::FixedPrecision' ); Can't use an undefined value as an ARRAY reference at /home/perlbrew/p +erls/perl-5.16.0/lib/5.16.0/Math/BigInt/Calc.pm line 1259.
Notice the lack of a mantissa in the second case which is actually what causes the final error in Math::BigInt::Calc. Any ideas?
In reply to Math::FixedPrecision and bignum clash by mje
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |