我正在开发一个用 Perl 编写的相当复杂的应用程序。我对这种语言相当有经验,但我只是对此感到困惑。
我正在使用一个模块 Foo,它使用 sysread 和 syswrite 对我传递给其构造函数的文件句柄(在本例中为双向套接字)进行各种操作。
我想做以下事情:从我正在编写的另一个模块(我们称之为 Bar),我想更改 sysread/write 的行为方式,仅在从属于 Foo 的方法中调用时
Sysread 等人需要在其他任何地方正常工作。可以安全地假设 sysread 的使用在 Foo 中不会改变。
我想这样做的原因是我需要跟踪从上述文件句柄读取/写入的字节数。在这一点上,这似乎是我可以获得此信息的唯一方法 - 基本上保存来自 sysread/write 的返回值。
只要质量好,我使用 CPAN 中的任何东西都没有问题。
更新:我为我的具体问题找到了更好的解决方案,并在此处发布了代码:
https://github.com/Hercynium/Tie-Handle-CountChars
它似乎在我的应用程序中运行良好,但在我对其进行更彻底的测试之前,我不会将它发布到 CPAN,并编写了一些实际的单元测试 :)