При загрузке модуля IO::File (точнее, при загрузке модулем IО::Filе модуля IO::Handle, от которого он наследует методы) он добавляет методы к обычным дескрипторам файлов. Это значит, что любой из методов модуля IO::File может также применяться при работе с STDIN, STDOUT, STDERR или даже с любыми обычными дескрипторами файлов, которые были созданы до сих пор. Это позволяет выполнить вывод на стандартное устройство вывода путем вызова оператора STDOUT->print().
Из приведенного перечня методов в модуле IO::File фактически определены только два new() и new_tmpfile(). Другие унаследованы от модуля IO::Handle и могут применяться с другими потомками IO::Handle, такими как IO::Socket. Этот перечень не полон. Некоторые наиболее сложные методы опущены, включая те, которые позволяют перемещаться по файлу с одной записи на другую, поскольку они не требуются для сетевой связи.
Основным конструктором в модуле IO::File является метод new(). Он представляет собой унифицированную замену и функции open(), и функции sysopen(). При вызове с одним параметром метод new() действует как версия функции open() с двумя параметрами, принимая имя файла, перед которым может быть указана строка режима.
При вызове с двумя или тремя параметрами модуль IO::File трактует второй параметр как режим открытия файла, а третий - как права доступа к создаваемому файлу. Параметр $mode может представлять собой строку режима в стиле Perl, такую как или восьмеричное числовое обозначение режима, аналогичное применяемому в функции sysopen(). Для удобства модуль IO:: File при загрузке автоматически импортирует константы модуля Fcntl. Кроме того, функция, open() позволяет воспользоваться альтернативным символическим обозначением режима.