0
$i = system(bc 110^151%14351);
print($i); 

大家好,我正在尝试使用系统调用来使用安装在我的 linux 机器上的计算器。计算器名称是 GNU bc,表示基本计算器。基本上,这是一种计算方程的简单方法。我可以很容易地从终端运行它,只需键入 bc,然后输入我想要等同的函数,在这种情况下,110 被 14351 修改为 151。问题是,我对 perl 不太了解,我一直在得到这个错误在尝试编写 perl 脚本以使其自动化时,无法在没有包或对象引用的情况下调用方法“bc”。我如何在 Perl 中调用系统调用,或者我可以这样做吗?谢谢

4

1 回答 1

1

您正在使用 Perl 的system()函数和bc命令

你可以bc像这样从命令行做你想做的事:

$ echo '110^151%14351' | bc
7355

Perl 的system函数返回一个数字,其中包含有关被调用命令的终止状态的信息;你想要命令的输出。

要从 Perl 调用它,应该可以:

chomp($i = `echo '110^151%14351' | bc`)

之所以需要,chomp是因为 Perl 反引号保留了命令输出的尾随换行符。

Math::BigInt但是您可以使用包在 Perl 本身中执行此操作。类型

perldoc Math::BigInt

在您的 shell 提示符下获取更多信息。

于 2014-02-19T00:02:43.347 回答