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