Search code examples
perlprecisionbignum

How can I set the level of precision for Perl's bignum?


I'm trying to use the bignum module in Perl and want to set the precision. I know this can be done via a one liner as detailed on the module's CPAN page:

$ perl -Mbignum=p,-50 -le 'print sqrt(20)'

...which will print out the square root of 20 to 50 digits of precision, but what I'm wondering is if there's anyway to set the precision within a script, i.e. something like:

#!/usr/bin/perl
use bignum;

setPrecision(-50);
print sqrt(20);

I've searched around here, Google, and PerlMonks without any luck so far. Thanks in advance.


Solution

  • Per Anon.'s suggestion:

    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    use bignum ( p => -50 );
    
    print sqrt(20);
    

    You might like to look at the docs for Math::BigFloat and Math::BigInt which bignum makes use of.