Обозначение прав доступа, приведенное в параметре $perms, представляет собой восьмеричное число и имеет то же значение, что и соответствующий параметр, передаваемый функции sysopen(). Если метод new() не может открыть указанный файл, он возвращает значение undef и устанавливает в качестве значения переменной $! соответствующее системное сообщение об ошибке.
Конструктор new_tmpfile(), который вызывается без параметров, создает временный файл, открытый для чтения и записи. В системах UNIX этот файл является анонимным, а это значит, что его нельзя найти в файловой системе. После уничтожения объекта IO::File файл и все его содержимое удаляется автоматически. Этот конструктор может применяться для временного хранения большого объема данных.
Метод close( ) закрывает объект IO::File и в случае успешного выполнения возвращает истинный результат. Если метод close() не будет вызван явно, он будет вызван автоматически при уничтожении объекта. Это происходит при выходе из сценария, при применении к объекту функции ftndef( ) или при выходе объекта из области определения; например, как в случае достижения непременной конца включающего ее блока. Можно переоткрыть объект дескриптора файла на указанном файле с использованием его метода open(). Входные параметры идентичны методу new(), результат вызова метода указывает, была ли операция открытия выполнена успешно. Это в основном применяется для переоткрытия стандартных дескрипторов файлов.
Метод write() противоположен методу read(); он записывает поток байтов в объект дескриптора файла и возвращает число успешно записанных байтов. Этот метод аналогичен функции write(), за исключением того, что в нем применяется буферизация stdio. Метод write() исправляет ошибку, допущенную при выборе имени встроенной функции write(), которая предназначена для создания форматированных отчетов.