Яндекс цитирования
 

CGI/PERL : практика программирования

 

[ В начало раздела ]

Вопросы-ответы программирования на CGI/PERL

Описание переменных окружения CGI
Поиск совпадений слов с начала строки
Создание хэшей
Чтение хэшей. Получение значений из хэша.
Сортировка хэша.
Объединение, слияние хэшей.

 

Описание переменных окружения CGI
Список переменных окружения CGI
ПеременнаяОписание
CONTENT_TYPE MIME-тип данных, когда метод запроса – POST
CONTENT_LENGTH Длина (в байтах) данных, передаваемых в стандартный ввод при методе запроса POST
DOCUMENT_ROOT Каталог с документами WEB-сервера
GATEWAY_INTERFACE Поддерживаемая версия CGI
SERVER_NAME Доменное имя (или IP-адрес) WEB-сервера
SERVER_PROTOCOL Версия протокола HTTP
SERVER_SOFTWARE Имя и версия программы Web-сервера
HTTP_ACCEPT MIME-типы, которые понимает броузер
HTTP_FROM Адрес электронной почты удаленного пользователя (доступен в зависимости от настроек безопасности броузера)
HTTP_USER_AGENT Имя и версия броузера удаленного пользователя
HTTP_COOKIE Список cookies, посылаемых броузером удаленному пользователю
HTTP_REFERER URL страницы, активизировавшей CGI-приложение
HTTP_HOST Имя хоста, к которому обращается броузер. Так как физически на одном сервере может находиться сразу много серверов (виртуальные хосты), то должен быть способ сообщить серверу, к какому именно идет обращение.
PATH_INFO Путь, переданный CGI-приложению, расположенный между именем приложения и строкой запроса
QUERY_STRING Строка запроса
REMOTE_ADDR IP-Адрес удаленого хоста, делающего данный запрос
REMOTE_HOST Если запрашивающий хост имеет доменное имя, то эта переменная содержит его, в противном случае -тот же самый IP-адресс, что и REMOTE_ADDR
REMOTE_USER Имя удаленного пользователя (если доступно)
REMOTE_IDENT IP-адрес удаленного пользователя
REQUEST_METHOD Метод запроса (GET или POST)
SCRIPT_FILENAME Имя файла скрипта на сервере
SCRIPT_NAME Относительный (от адреса сервера) путь запущенного CGI-приложения. См. SCRIPT_FILENAME
SERVER_PORT TCP-порт сервера, используюшийся для соединения. По умолчанию HTTP-порт = 80

 

Поиск совпадений слов с начала строки
Для этого следует использовать следующее регулярное выражение:

 

Создание хэшей
Хэш - плоская табличная структура с уникальным ключом и соответсвующим значением. Для создания хэша в Perl необходимо объявить уникальную переменную-хэш.

 

Чтение хэшей. Получение значений из хэша.
Для чтения хэша и получения всех значений ключей можно воспользоваться функцией <b>each</b>.
    print "$key = $value\n";
  }</listing>
Можно также воспользоваться другим подходом:
читать ключ, а затем получать значение ключа.
    $value = $mytable{$key};
    print "$key = $value\n";
  }</listing>

 

Сортировка хэша.
Для сортировки хэшей используется функция <b>sort</b>, которая также используется и для сортировки списков и массивов. Вот, например, сортировка хэша по значению ключа:
  $hash{software} = PhotoShop;
  $hash{processor} = Intel;
  foreach $key (sort keys %hash) {
    print "$key => $hash{$key}\n"; }
  
  Результат:
  game => Warlord
  processor => Intel
  software => Photoshop
Точно так же вместо сортировки по ключу можно выполнить сортировку по значению:
  $hash{software} = PhotoShop;
  $hash{processor} = Intel;
  foreach $value (sort values %hash) {
    print "$value\n"; }
  
  Результат: 
  Intel
  Photoshop
  Warlord

 

Объединение, слияние хэшей.
Для объединения двух хэшей можно использовать присвоение списком. Например, имеется два хэша:
  $hash1{software} = PhotoShop;
  $hash2{processor} = Intel;
  $hash2{computer} = Compaq;
Объединение этих хэшей можно выполнить следующим образом:

              

 

[ В начало раздела ]


 

 

Все для web-дизана!!! Бард-Путеводитель Много Всего CGI-Гид. Лучшие скрипты... WDH - WebDesignHelp - CGI, JAVA, APPLETS, TOP100! Раскрутка, увеличение посещаемости и индекса цитируемости в поисковых системах.

© 2000-2002 Долгов Сергей

dolgov_sergei@mail.ru

X