是否可以路由Perl的打印方法

时间:2012-03-17 05:07:09

标签: perl intercept

看看这里 Can Perl method calls be intercepted?

它显示了如何为一个简单的sub重写符号表。打印命令可以采用我认为的列表,那么拦截/重写它的正确方法是什么?我希望得到一个程序来延迟打印,同时保持相同的签名,而是将输出推送到一个数组中,对其进行预先排序,然后在最后反馈所有输出。

1 个答案:

答案 0 :(得分:7)

拦截print本身不是要走的路 - 它有许多操作模式,包括写入文件或套接字。相反,请查看select function,该IO::Capture可用于更改print将写入的默认文件句柄。

另外,请查看{{3}}使用的“绑定”IO句柄的概念。