ПредишенСледващото

Програмиране в PERL

В момента, PERL е един от най-добрите езици за програмиране CGI-на уеб сървъри, базирани на Unix. За други платформи, езикът също е добро.

Всяко CGI-скрипт трябва да генерира заглавието на отговор. Както това е направено в PERL? много проста

Сега няколко бележки по сценария хоства на сървъра.
Обикновено, скриптове се поставят в директорията на CGI-бен. Въпреки че това не винаги е така. Скриптът ви трябва да има право да работи в системата (това е за Unix). Това се прави в командния коригират + х script.cgi.

И сега можем да започнем да пишем сценария, и ние трябва да се започне с поздрав по света.

Така че, просто скрипт:

#! / ЮЕсАр / хамбар / Perl
печат "Content-Type: текст / HTML";
печат "";

Първият ред указва пътя към Perl interpertatoru система (въведете тук начинът, по който обикновено PERL на система Unix.
Вторият ред показва заглавието.
Но на третия ред браузъра предава данни, че процесът на сваляне в зависимост от вида предава в заглавната си част.

- HA. - да кажем мила посетител - не можеш ли просто да въведете HTML файл, без да има скриптове?

По-лесно! Но ако имате нужда от страницата, за да бъде динамично, в зависимост от действията на потребителя уви :)))) ще трябва да напише сценария.
За това е необходимо да се обработва входящите параметри от страна на потребителя.

Опции в CGI-скрипт прехвърляни чрез променливи на средата.

За изучаване на околната среда променливи ще напиша малко скрипт

#! / ЮЕсАр / хамбар / Perl
печат "Content-Type: текст / HTML";
печат "околна среда ";
печат " ";
отпечатате "Вашето искане е: $ ENV

";
Печат "Променливи:
";
печат "REQUEST_METHOD= $ ENV
";
печат "QUERY_STRING= $ ENV
";
печат "CONTENT_LENGTH= $ ENV
";
печат "CONTENT_TYPE= $ ENV
";
печат "GATEWAY_INTERFACE= $ ENV
";
печат "REMOTE_ADDR= $ ENV
";
печат "REMOTE_HOST= $ ENV
";
печат "SCRIPT_NAME= $ ENV
";
печат "SCRIPT_FILENAME= $ ENV
";
печат "SERVER_NAME= $ ENV
";
печат "SERVER_PORT= $ ENV
";
печат "SERVER_PROTOCOL= $ ENV
";
печат "SERVER_SOFTWARE= $ ENV
";
печат "HTTP_ACCEPT= $ ENV
";
печат "HTTP_USER_AGENT= $ ENV
";
печат " ";

Когато стартирате този скрипт ще ви даде променливи на средата.
Можете да се обадите този скрипт и експеримент с въпроси, погледнете какво се случва, можете да погледнете тук

ако ($ ENV екв "GET") # Проверете дали заявка за GET
;> # $ Query след това да напишете низа на заявката
# (Този, който идва след "?" В заявката)
elsif ($ ENV екв "POST") # ако метода на заявката POST
)> # Е записана в $ заявка
# Данните от заглавието на заявка

@pairs = сплит (//, $ заявка); # разделят по искане на двойки ключ = стойност
foreach $ двойка (@pairs) ($ име, $ стойност) = разделяне (/ = /, $ двойка); # Въведете името на променливата $, стойност
# В променлива стойност $
$ Стойност =

TR / + / /; # Замяна пространства при професионалистите
$ Стойност =

S /% ([а-FA-F0-9] [а-FA-F0-9]) / пакет ( "С", хекс ()) / например; # Замяна нестандартна
# знака на кодирана стойност на тип C00
$ Стойност =

След разрешаване на този код за скриптове, които трябва е да се използва вход хеш $ посочи в името скоби параметър. Например стойността на $ вход е равен на "1", $ вход е равен на "Вал" и така нататък.

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

Достъп до параметрите на искането осигурява функцията за Парам. Без параметри, тази функция връща масив от стойности, съдържащи имената на ключовете на параметрите. За да получите стойността на ключ, което трябва да премине, за да Парам име на ключа като аргумент.

Следващият пример извежда получи ключ формата на заявката: Значение

#! / ЮЕсАр / хамбар / Perl
използват CGI QW /: стандарт /; # Свържете стандартен набор от CGI модул
печатащата глава; # изход заглавката
# (Вместо печат "Content-Type: текст / HTML";)
печат START_HTML ( "Пример"); # Печат заглавна HTML-документ
foreach $ ключ (Парам) <# пробегаемся по всем параметрам запроса
# Поставянето на ключова стойност на коефициента на променливата $
печат "$ ключ"; # Печат ключ име
$ Стойност = Парам ($ ключ); # Прочетете стойност на ключа
печат $ стойност "
"# И ще го покаже на екрана
>
печат END_HTML;

Оказва се, че сте преминали в низа на скрипта а = 1б = 2. скрипт, за да се справя и даде резултатите, показани по-горе.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!