Глава 25. CGI-скрипг 589

Теперь создадим цикл, в котором содержимое GIF-файла будет полностью передано серверу в качестве основного блока информации MIME-сообщения, которое начиналось со строчки определения МШЕ-типа.

while(<IMAGE>){ print $_;}

После передачи содержимого файла можно закрыть его.

close(IMAGE);

И, наконец, следует дать инструкцию интерпретатору PERL о том, что CGI-скрипт закончил свою работу.

exit;

Этот скрипт может быть легко модифицирован для придания ему новых качеств. Например, вы можете превратить его в средство для показа случайно выбранного изображения. Каждый раз, когда пользователь щелкает ссылку на такой скрипт, он выполняется и передает браузеру одно изображение, выбранное случайным образом.

Системные переменные

Будем надеяться, что теперь вы уже лучше понимаете процесс взаимодействия между клиентом и сервером. В процессе взаимодействия вместе с информацией, о которой говорилось ранее, передается целый набор значений системных переменных. Хотя каждый сервер может иметь свой собственный набор системных переменных, большая часть из них является подмножеством огромного набора стандартных переменных, принятых Internet-сообществом для обеспечения единых стандартов (рис. 25.1).

h05891.jpg

Рис. 25.1.Если запустить CGI-скрипт environment.pi в браузере, то на экране вы увидите нечто подобное