7
IO :: File,IO :: Socket :: INET模块比直接使用perl的内置IO函数具有一些优点,例如具有显式语法来刷新句柄。从IO :: File获取异常?
但是,它们似乎比内置IO功能有一些缺点。例如,据我所知,他们不能与autodie模块组合以在失败时引发异常,所以我发现自己不得不编写更多的样板代码来处理失败,而不是使用内置函数。
有没有办法将两者或其他一些具有组合功能的模块结合起来?我注意到一些有限的目的IO模块,例如File :: Slurp,确实允许更灵活的错误处理。
我正在写模块代码,理想情况下,解决方案应该一路回到perl 5.10.0。
注意,文件句柄/包含'反正IO :: File'对象(给定一个足够现代的perl,或者'use IO :: File'来加载方法) - 所以你可以使用像open这样的内建函数而不会放弃OOP特性。 – amon