我一直在为现有项目添加一个插件,并且该东西与perl脚本捆绑在一起。我正在尝试将我的C程序添加到perl脚本中以生成输出文件,但输出是垃圾或丢失。
我的可执行文件名为Interpolate
,当它与perl脚本位于同一文件夹中时,它正常工作
./Interpolate inv.tracking_log
命令是如何运行的。它应该生成一个名为tmp.log
的中间文件,以及一个名为out.txt
的最终文件。当我在目录中运行它时就可以了,两个文件都应该是这样的。
然后我在perl脚本中添加了一个系统调用(我几乎没有(如果那样)知道perl):
print("./Interpolate $inVideoFile"); //prints like the command (just a test)
my $interCall = system("./Interpolate $inVideoFile");
从perl脚本中运行它时,tmp.log
文件主要是垃圾,out.txt
完全丢失。我确实意识到很可能会丢失,因为它依赖于tmp.log
文件。是否有一个我在某处遗失的perl'gotchya'?
答案 0 :(得分:2)
system("./Interpolate $inVideoFile");
应该是
system("./Interpolate", $inVideoFile);
如果您在修复后仍然遇到问题,$inVideoFile
不包含它应该包含的内容,或者您的C程序中存在错误。 (system
电话的返回值是多少?)