Введение в CGI


Файлы


Для работы с файлами в 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.



Содержание раздела