Perl脚本不保存C outfile

时间:2012-06-13 15:37:37

标签: c perl

我一直在为现有项目添加一个插件,并且该东西与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'?

1 个答案:

答案 0 :(得分:2)

system("./Interpolate $inVideoFile");

应该是

system("./Interpolate", $inVideoFile);

如果您在修复后仍然遇到问题,$inVideoFile不包含它应该包含的内容,或者您​​的C程序中存在错误。 (system电话的返回值是多少?)