Иногда данные формы сохраняются для
# Сначала открыть и монопольно заблокировать файл
open(FH, "»/tmp/formlog") or die "can't append to formlog: $!";
flock(FH, 2) or die "can't flock formlog- $!";
# Используется процедурный интерфейс
use CGI qw(-.standard);
save_parameters(*FH); #CGI::save
# Используется объектный интерфейс
use CGI;
$query = CGI->new(); $query->save(*FH);
close(FH) or die "can't close formlog; $'";
Или форма сохраняется в канале — например, соединенном с процессом sendma.il:
use CGI qw(:standard);
open(MAIL, "|/usr/lib/sendmail -ol -t")
or die "can't fork sendmail; $!"; print MAIL «EOF; From; $0 (your cgi script) To: hisname\@hishost.com Subject; mailed form submission
EOF
save_parameters(«MAIL);
close(MAIL) or die "can't close sendmail: $!";
Комментарий
Иногда данные формы сохраняются для последующего использования. Функция save_parameters и метод save модуля CGI.pm записывают параметры формы в открытый манипулятор. Манипулятор может быть связан с открытым файлом (желательно — открытым в режиме дополнения и заблокированным, как в решении) или каналом, другой конец которого подключен к почтовой программе.
Данные сохраняются в файле в виде пар переменная=значение, служебные символы оформляются по правилам URL. Записи разделяются строками, состоящими из единственного символа =. Как правило, чтение осуществляется методом CGI->new с аргументом-манипулятором, что обеспечивает автоматическое восстановление служебных символов (см. ниже).
Если вы хотите перед сохранением включить в запрос дополнительную информацию, вызовите функцию рагат (или метод, если используется объектно-ориентированный интерфейс) с несколькими аргументами и установите нужное значение (или значения) параметра формы. Например, текущее время и состояние окружения сохраняется следующим образом:
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий