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