Perl中的系统调用

时间:2014-02-18 23:48:12

标签: perl gnu system-calls bc

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

大家好,我正在尝试使用系统调用来使用我的linux机器上安装的计算器。计算器名称为GNU bc,用于基本计算器。基本上它是计算方程的简单方法。我只需输入bc然后输入我想要等同的功能就可以轻松地从终端运行它,在这种情况下,由14351提升到151的模式。问题是,我不太了解perl而且我不断得到这个错误在尝试编写perl脚本以使其自动化时,无法在没有包或对象引用的情况下调用方法“bc”。如何在Perl中调用系统调用,或者我被允许这样做?感谢

1 个答案:

答案 0 :(得分: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提示符下获取更多信息。