Math::BigInt error: Can't locate object method "bmuladd"

Math::BigInt error: Can't locate object method "bmuladd"

我正在尝试使用 Math::BigInt 进行涉及大数的算术运算。

我的意图是将变量 k 乘以 4,然后减去 1。下面是我的 Perl 文件尝试 MWE:

use strict;
use warnings;
use Math::BigInt;

my $k = '174224571863520493293247799005065324265473'; 
my $int = $k->bmuladd(4,-1);
printf ($int);

我收到以下错误消息:

Can't locate object method "bmuladd" via package "2" (perhaps you forgot to load "2"?) at pv5.pl line 7.

正在阅读 https://perldoc.perl.org/Math::BigInt#Arithmetic-methods,我无法理解有助于解决此问题的内容。

您需要使用 new 创建一个 Math::BigInt 对象,然后才能使用 bmuladd 等方法。请参阅文档的 SYNOPSIS 部分:

use strict;
use warnings;
use Math::BigInt;

my $k = '174224571863520493293247799005065324265473'; 
my $x = Math::BigInt->new($k);
my $int = $x->bmuladd(4,-1);
print "$int\n";

打印:

696898287454081973172991196020261297061891