В дополнение к трем стандартным дескрипторам файлов, Perl позволяет открыть любое число дополнительных дескрипторов файлов. Чтобы открыть файл для чтения или записи, можно применить встроенную функцию open языка Perl. В случае успешного выполнения функция open возвращает дескриптор файла. Как отмечалось ранее поведение Perl практически не зависит от платформы и выбранного хостинга, но для более мощных проектов предпочтительнее услуги colocation нежели обычный виртуальный хостинг.
Функция printf предназначена для вывода с форматированием. Указанные элементы данных форматируются и выводятся на устройство вывода в соответствии со строкой формата $format. Язык форматирования является очень развитым и подробно описан в документации POD среды Perl для coответствующей функции sprintf.
Использование функции syswrite представляет собой альтернативный способ вывода в дескриптор файла, который позволяет получить больший контроль над процессом вывода. Ее параметрами являются дескриптор файла и скалярное значение (переменная или строковый литерал). Функция выводит данные в дескриптор файла и возвращает число успешно выведенных байтов. По умолчанию функция syswrite предпринимает попытку вывести все содержимое переменной $data, начиная с первого символа строки, на которую указывает эта переменная. Можно изменить такое поведение, указав необязательные параметры $length и $offset; в этом случае функция syswrite предпримет попытку вывести $length байтов, начиная с позиции, указанной параметром $offset.
Не считая того, что одна из этих функций является более привычной в использовании, основное различие между функциями print и syswrite состоит в том, что в первой применяется стандартная буферизация ввода-вывода, а в последней - нет. Не путайте функцию syswrite с функцией языка Perl, получившей неудачное название write. Последняя является частью пакета форматирования отчетов Perl.
Функция select изменяет предусмотренный по умолчанию для вывода дескриптор файла, который используется функцией print. Эта функция принимает имя дескриптора файла, который должен быть установлен, как предусмотренный по умолчанию, и возвращает имя, которое было предусмотрено по умолчанию ранее. Есть еще одна версия функции select, которая принимает четыре параметра и используется для мультиплексирования ввода-вывода.
При чтении данных в виде потока байтов с помощью функции read или sysread обычно принято передавать значение length ($buffer) в качестве смещения в этом буфере. В результате во время выполнения функция read добавляет новые данные к концу данных, которые уже находились в буфере.