我知道我可以打开文件句柄并将其重定向到如下文件:
open(HANDLE, ">", "filename.txt");
我还可以将其重定向到如下命令:
open(HANDLE, "|-", "grep hello");
我想做的是将它指向一个函数:
open(HANDLE, "|func", f);
其中f
是一个函数,它接受一个参数,一个文件句柄,然后可以在它认为合适的情况下从该文件句柄中读取,然后写入它想要的。
我知道我可以通过在其中创建一个包含f(FILEHANDLE)
的新文件来模拟这一点,但这有一些问题,例如,如果f(FILEHANDLE)
的行为有时会发生变化,而不是创建函数{{ 1}}接受参数并返回函数g(option1, option2)
,在单独的文件中,我们需要传递命令行参数,以及命令行引用的所有问题等。
允许我将文件句柄指向子程序的任何方式(或任何库)?我不介意幕后的库是否f(FILEHANDLE)
,我只是想避免将数据传递给shell脚本的混乱。