Файлы
Для работы с файлами в Perl применяют несколько встроенных функций. Открывают файл функцией open. При этом для указания действий с записями файла используют префиксы:
open IN,"<test.txt"; # открыть файл на чтение
open IN,">test.txt"; # открыть файл на запись
open IN,"+<test.txt"; # открыть файл на чтение и запись
open IN,">>test.txt"; # открыть файл на модификацию (добавление)
Закрывают файл при помощи функции close:
close IN;
Для чтения записей из файла используют либо чтение потоком — <file>, либо функцию read:
while(<IN>) { print $_; }
read STDIN, $query, $ENV{CONTENT_LENGTH};
В первом случае данные построчно считываются из файла IN и распечатываются в поток стандартного вывода. Во втором случае из потока стандартного ввода, который тоже является файлом, считывается функцией read $ENV{CONTENT_LENGTH} байтов. Для обработки потока стандартного ввода CGI-скрипта подходит только второй способ, так как сервер не закрывает потока ввода, что приводит к бесконечному ожиданию ввода и разрыву соединения по timeout.