perl管道中的可编程参数
我正在逐渐地沿着perl学习曲线前进(感谢这个非常有用的站点的贡献者),但我正在努力解决这个特殊问题 我正在构建一个perl实用程序,它使用三个(c++)第三方程序。通常情况下,这些都会运行:一个$file_列表| B-args | C$file_out 当进程A读取多个文件时,进程B修改每个单独的文件,进程C收集管道中的所有输入文件并生成一个输出文件,空输入文件表示输入流的结束 输入文件很大(ish),大约100Mb,数量大约为10。这些进程是CPU密集型的,整个进程每天需要应用于数千组文件,因此将中间文件读写到磁盘的简单解决方案效率太低。此外,上述过程只是处理序列的一部分,其中输入文件已经在内存中,输出文件也需要在内存中进行进一步处理 有许多解决方案已经有了很好的文档记录,我有一个使用IPC::Open3()的原型版本。到目前为止,一切顺利 然而,当通过流程B将每个文件输送到流程A时,我需要修改流程B中每个输入文件的参数,而不中断流程C的正向流程。这就是我的目的所在,我正在寻找一些建议 作为进一步的背景:perl管道中的可编程参数,perl,pipe,Perl,Pipe,我正在逐渐地沿着perl学习曲线前进(感谢这个非常有用的站点的贡献者),但我正在努力解决这个特殊问题 我正在构建一个perl实用程序,它使用三个(c++)第三方程序。通常情况下,这些都会运行:一个$file_列表| B-args | C$file_out 当进程A读取多个文件时,进程B修改每个单独的文件,进程C收集管道中的所有输入文件并生成一个输出文件,空输入文件表示输入流的结束 输入文件很大(ish),大约100Mb,数量大约为10。这些进程是CPU密集型的,整个进程每天需要应用于数千组文件,
D使用什么语言取决于您。如果您希望将不同程序的输出输入到管道中,我建议您希望看到的是。。。嗯
这使您可以设置一个管道,它的工作原理与您从
IPC::Open3
中获得的管道非常相似,但对您读/写的内容有更多的控制 我们能理解B
中的参数有什么不同吗。。。按文件。。。?但是从那里开始:如果文件\u列表
作为参数列表,从A
无顺序处理,我不知道每个文件的B
会有什么不同。管道输送到A的10个文件中,每个文件的B参数都不同。在管道输送第一个文件到A之前,了解所有文件的参数值会有所帮助。这是问题的核心。如何设置管道命令,以便在不干扰管道到C的情况下,改变管道到a的每个文件在B中的参数。