Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документация, учебники по Perl.doc
Скачиваний:
3
Добавлен:
29.10.2018
Размер:
1.83 Mб
Скачать

Обсуждение: Что делать с данными?

Следующим шагом является обработка данных. Но как? Все зависит от того, что вы хотите сделать с данными. В нашем примере мы на основе полученных данных создаем новый HTML документ. Нише мы рассмотрим несколько простых примеров того, что можно сделать с полученными данными. Обратите внимание, что мы не предпринимаем попыток проверить правильность (validate) содержимого полей. Хотя в реальных скриптах это является желательным, а иногда и необходимым действием.

Обсуждение: Запись в файлы

Одно из действий, которое вы можете совершить над данными, это записать их в файл. Perl предоставляет набор функций для открытия, обработки и закрытия файлов. Таким образом вы можете создать новый HTML документ, добавить данные в уже существующий HTML документ или сохранить данные в текстовом файле для дальнейшей обработки.

Функция открытия файла выглядит следующим образом:

open (HANDLE, "name"); # Открыть файл для чтения

open (HANDLE, ">name"); # Открыть файл для записи

open (HANDLE, ">>name"); # Открыть файл для добавления в конец

 

HANDLE является любым временным именем, который вы будете использовать как идентификатор файла при проведении операций. Как только файл открыт, вы можете писать в него, используя функцию print:

print HANDLE "Этот текст будет помещен в файл как есть.\n";

print HANDLE "В этом случае переменная ",$variable," будет помещена в текст.";

print HANDLE "Переменную $variable можно помещать в текст и так.\n";

print HANDLE "Кавычки и др. Спецсимволы \; надо \"подсекать\".\n";

 

После завершения операций с файлом необходимо его закрыть:

close (HANDLE);

 

После этого все записанные данные будут сохранены на диск.

Перед осуществлением запись в файл, вы должны убедиться, что web-сервер имеет доступ к директории, в которой находится файл и имеет права на запись в этот файл.

Обратите внимание: функция close должна располагаться как можно ближе к последней функции записи в файл. Это обусловлено тем, что web-сервер выполняется в многопользовательской среде, и скрипт может запускаться одновременно несколькими пользователями. При открытии файла на запись он (файл) блокируется и другие экземпляры скрипта не смогут его открыть, что вызовет задержку в выполнении запроса.

Пример: Создание новой html страницы

Следующий пример может показаться на первый взгляд сложным, но все что он делает, это пишет некоторую информацию в файл.

В связи с тем, что мы создаем web-страницу файл содержит тэги HTML вместе с обычным текстом. Помните, что \n просто вставляет перевод строки в текст для удобства последующего просмотра созданного файла.

Все входные данные из формы содержатся в переменных $input{field_name}. При печати такие переменные должны выноситься за кавычки и отделяться запятыми.

# Определяем переменную, содержащую путь к записываемому файлу

$newfile = "c:\webserver\htdocs\mynewpage.html";

# Открываем файл, используя идентефикатор USERINFO

open (USERINFO, ">$newfile");

# Формируем содержимое

print USERINFO "<html>\n<head>\n";

print USERINFO "<title>Информация о регистрации</title>\n</head>\n";

print USERINFO "\n<body>\n<h3>Данные регистрации:</h3>";

print USERINFO "<p><hr></p>\n<p>\n";

print USERINFO "Имя: ", $input{'user_name'},"\n<br>";

print USERINFO "Компания: ", $input{'co_name'},"\n<br>";

print USERINFO "Телефон: ", $input{'phone'},"\n</p>\n<p><hr></p>\n";

print USERINFO "<!-- NEW INSERTS GO HERE -->\n\n</body>\n</html>";

# Закрываем файл

close (USERINFO);