我想使用Perl脚本执行C程序.什么输入手动给C可执行文件,这些应该由我的程序给出..
让我们采取一个简单的程序,输入两个nos.并打印出它的总和.值应由Perl脚本提供.
请指导我完成一些我可以实现相同目的的教程.
使用系统功能:
system "my-c-program 1 2";
Run Code Online (Sandbox Code Playgroud)
如果要在perl脚本中捕获C程序的输出,请使用反引号或qx//运算符:
my $output = `my-c-program 1 2`;
Run Code Online (Sandbox Code Playgroud)
它运行my-c-program 1 2并将标准输出捕获到一个新$output变量中.
小智 5
好吧,如果你刚刚学习如何在Perl中运行外部程序 - 请帮个忙,忘记``.
``的问题是你在其中执行带有参数的字符串 - 所以必须对其进行解析.当用户提供参数时,这可能会导致问题.
如果您100%确定您可以完全控制参数和命令名称 - 您可以使用``,但对于任何其他情况 - 请考虑使用IPC :: Run.
它有点复杂,但它不需要任何参数解析的唯一事实就是更好.另外,您可以完全控制已执行程序的stdin,stdout和stderr - 包括将回调附加到它们!