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

Резюме: В тази лекция, подробно характеристиките на програмирането на CGI-скриптове в Perl. Определя правилата на скрипт разговор, предаване и приемане на неговия сценарий на резултатите за по-нататъшна употреба в HTTP-обмена и генериране на HTML-страници. Разберете причините за Perl скриптове популярност сред на уеб-програмиране.

Perl език за програмиране е основното средство за развитие на CGI-скриптове за уеб-сайтове. Той не се прилага само когато това се изисква висока ефективност код и няма стандарт библиотеки за Perl.

Perl като развитие на скриптов език има редица предимства. Ние ги изброим по реда на важност:

  • независимо от софтуер и хардуерна платформа;
  • мощни струни разбор;
  • лекота на работа с променливи на средата;
  • простота на работа със стандартни входящите и изходящите потоци;
  • способността да прочете предварително определен брой символи от входния поток;
  • хеширана маси;
  • възможността за организиране на транспортьорите;
  • Библиотека TCP / IP споделяне;
  • много стандартни приложения библиотека.

Всичко това прави софтуера. написан на Perl, мобилни и разработка на софтуер - бързо и лесно.

Структурата на Perl-програми

Perl програма се състои от езикови отчети, които трябва да завършват с ";". Например:

Като цяло, операторите са разделени на прости и сложни. Обикновено оператор - един печат оператор. например, като компонент - време ():

Perl програма се изпълнява от интерпретатора на Perl. Има компилатори на езика, но те се използват по-рядко. Когато програмиране на CGI-скриптове на Unix преводач се нарича от един и същи файл, който съдържа програмата, като например:

В този случай, на първа линия - предизвикателство за преводача с пълния път до него от основната файлова система.

Също така е удобно и Samba, който ви позволява да редактирате "в местността" от Windows към Unix.

стандартния изход

Основната цел на CGI-скрипт - сървър за обработка на искане на потребителя и реакцията на образуване на това искане. Може да се помисли и други задачи, които ни позволяват да се реши CGI-скриптове, но тази задача - основните. Сценарият трябва да генерира не само отговор и HTTP-отговор. Това означава, че трябва да се образува глава и HTTP-съобщение тяло, които са разделени от един празен ред.

Най-лесният начин да се въведе такава реакция с помощта на командата за печат:

Първият ред посочва заглавието на HTTP-отговор и празен низ (два знака "\ н \ Н"). Останалата част от отчет за печат образуват тялото на съобщението. Отчетът за печат пише на стандартния изход списъка на своите аргументи. Най-общо казано, печат може да се използва за извеждане на данни във всеки файл. Ако не е уточнено името на файла, изходът е стандартен изходен поток.

променливи

Сценарий, генерирани от сървъра в някои операционни среди. Тази среда се нарича околната среда (околна среда). Част от околната среда, са така наречените променливи за средата. Когато се обадите им скрипт генерира и да ги прехвърля на стойността на HTTP сървър. Списъкът с променливите, се определя спецификация Common Gateway Interface.

В Perl, има набор от вградени в системата променлива на обкръжението% ENV. "%" Символ пред името на масива означава, че е асоциативен масив, т.е. стойност масив елемент могат да бъдат избрани чрез определяне на ключ, с които тя е свързана. Например, трябва да се определи методът за достъп до сценария:

В този контекст, "$" символ преди името на масива, не трябва да бъдат подвеждащи. Връзка се осъществява с елемент на асоциативен масив. Това е скаларна, и затова се използва символа "$". Ключ за които е избран стойност е показана в скоби.

Много полезен скрипт отпечатва всички променливи на средата. които се прехвърлят към сценария (perlenv2.htm). Обикновено този доклад е подготвен за отстраняване на грешки на HTML форми:

Този прост скрипт отпечатва стойностите на всички променливи. Използвайки foreach линия. В този цикъл HKEY променлив цикъл работи на цялата уникален ключ (имената на променливи на средата), която осигурява функционалните клавиши.

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

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