Метод blocking() включает и выключает режим блокировки для дескриптора файла. Эти два метода удобны, если нужно выполнить ряд операций ввода-вывода, например, в принтер от Бразер линейки DCP и проверить результаты выполнения на отсутствие ошибок только после их завершения. Метод error() возвращает истинное значение, если в дескрипторе файла возникли какие-либо ошибки после его создания или после последнего вызова метода clearerr(). Метод clearerr() очищает флажок с обозначением ошибок.
Кроме методов, перечисленных выше, в модуле IO::File имеются конструктор new_from_fd() и метод fdopen(), которые унаследованы от модуля IO::Handle. Эти методы могут применяться для сохранения и восстановления объектов во многом аналогично тому, как в форме >&FILEHANDLE, применяемой со стандартными дескрипторами файлов при операциях ввода-вывода, в том числе на принтеры.
Метод new_from_fd() открывает копию объекта дескриптора файла, указанного параметром $fd, с использованием режима чтения/записи, который задан параметром $mode. Объектом может быть объект IO::Handle, объект IO::File, обычный дескриптор файла или целочисленный номер файла, возвращенный функцией fiieno(). Параметр $mode должен соответствовать режиму, с которым был первоначально открыт объект, указанный параметром $fd.
Метод fdopenO применяется для переоткрытия существующего объекта дескриптора файла и превращения его в копию другого объекта. Параметр $fd может представлять собой объект IO::Handle, обычный дескриптор файла или целочисленный номер файла. Параметр $mode должен соответствовать режиму, с которым был первоначально открыт объект, указанный параметром $fd. Этот метод обычно используется в сочетании с методом new_from_fd() для восстановления сохраненного дескриптора файла.