在perl程序前添加过滤器

Ole*_*nge 1 perl pipe

我要写:

... | my_filter | myperlprogram
Run Code Online (Sandbox Code Playgroud)

但是my_filter直到开始我才知道如何运行myperlprogram

我可以在阅读之前以某种方式在myperlprogramSTDIN 中循环my_filter吗?

我在想类似的东西:

pipe($a,$b);
if(not fork()) {
   close STDOUT; 
   open STDOUT, $b;
   exec "my_filter --with the correct --options";
} else {
   close STDIN
   open STDIN, $a
}
# continue reading STDIN now looped through `my_filter`
Run Code Online (Sandbox Code Playgroud)

小智 5

从描述中根本不清楚为什么简单

open STDIN, '-|', 'your_filter', '--option1', ...
Run Code Online (Sandbox Code Playgroud)

不行。