Модули IO::File, IO::Socket::INET имеют некоторые преимущества по сравнению с прямым использованием встроенных в perl функций ввода-вывода, например наличие явного синтаксиса для сброса дескриптора.
Однако они имеют некоторые недостатки по сравнению со встроенными функциями ввода-вывода. Например, насколько я могу судить, их нельзя комбинировать с модулем autodie для создания исключений при сбоях, поэтому мне приходится писать в целом больше стандартного кода для обработки сбоев, чем со встроенными функциями.
Есть ли способ объединить два или некоторые другие модули, которые имеют объединенную функциональность? Я заметил, что некоторые модули ввода-вывода ограниченного назначения, такие как File::Slurp, обеспечивают более гибкую обработку ошибок.
Я пишу код модуля, и в идеале решение должно работать вплоть до perl 5.10.0.
IO::File
(учитывая достаточно современный perl и, возможно,use IO::File
для загрузки методов) — поэтому вы можете использовать встроенные функции, такие какopen
, не отказываясь от функций ООП. - person amon   schedule 20.12.2013