【发布时间】:2014-02-18 23:48:12
【问题描述】:
$i = system(bc 110^151%14351);
print($i);
大家好,我正在尝试使用系统调用来使用安装在我的 linux 机器上的计算器。计算器名称是 GNU bc,表示基本计算器。基本上,这是一种计算方程的简单方法。我可以很容易地从终端运行它,只需键入 bc,然后输入我想要等同的函数,在这种情况下,110 被 14351 修改为 151。问题是,我对 perl 不太了解,我一直在得到这个错误在尝试编写 perl 脚本以使其自动化时,无法在没有包或对象引用的情况下调用方法“bc”。我如何在 Perl 中调用系统调用,或者我可以这样做吗?谢谢
【问题讨论】:
-
术语“系统调用”通常是指对操作系统内核的调用,如
read、write或ioctl。令人困惑的是,对system函数的调用不是“系统调用”。 -
既然可以在 Perl 中计算,为什么还要使用
system和bc?你忘了在你的系统调用周围加上引号,如果你想捕获输出,你应该使用反引号或qx()。
标签: perl gnu system-calls bc