CGI-скрипт Hello World на Perl

Сценарий CGI может быть настолько простым или сложным, насколько это необходимо. Это может быть в Perl, Джава, Python или любой язык программирования. По своей сути приложение CGI просто принимает запрос через HTTP (обычно веб-браузер) и возвращает HTML. Давайте посмотрим на простой Perl Привет, мир CGI скрипт и разбить его на простейшие формы.

'Hello World' CGI Perl Script

 #! / USR / бен / Perl
print "Content-type: text / html \ n \ n";
печать <

Простой Perl CGI


Простой Perl CGI


Привет, мир



HTML
выход;

Если вы запустите программу из командной строки, вы увидите, что она делает именно то, что вы ожидаете. Во-первых, он печатает Тип содержимого затем печатает необработанный HTML. Чтобы увидеть его в действии в веб-браузере, вам нужно скопировать или загрузить скрипт на свой веб-сервер и убедиться, что права доступа установлены правильно (chmod 755 в системах * nix). Как только вы установили его правильно, вы сможете просмотреть его и увидеть страницу, отображаемую в режиме реального времени на вашем сервере.

instagram viewer

Ключевая строка является первым оператором print:

 print "Content-type: text / html \ n \ n"; 

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

Как только заголовок отправлен, нужно просто отправить сам HTML-документ. В приведенном выше примере мы используем документ Here-doc, чтобы упростить печать большого фрагмента простого текста. Конечно, это на самом деле ничем не отличается от простого HTML-документа на вашем сервере. Реальная сила использования языка программирования, такого как Perl, для создания вашего HTML появляется, когда вы добавляете немного необычного программирования на Perl.

Добавление к основному сценарию

В следующем примере давайте примем участие в этом сценарий времени и даты и добавьте его на свою веб-страницу.

 #! / USR / бен / Perl
@months = qw (январь фев мар апр апр май июнь июль авг сент окт окт ноя дек);
@weekDays = qw (вс пн вт ср чт пт сб вс);
($ second, $ minute, $ hour, $ dayOfMonth, $ month, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ year = 1900 + $ yearOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ months [$ month] $ dayOfMonth, $ year";
print "Content-type: text / html \ n \ n";
печать <

Простой Perl CGI


Простой Perl CGI


$ Thetime



HTML
выход;

Этот новый скрипт CGI будет вставлять текущую дату на страницу при каждом вызове скрипта. Другими словами, это становится динамический документ, который изменяется по мере изменения даты, а не статический документ.

instagram story viewer