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

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.