Язык Perl был создан в 1986 г. и первоначально предназначался для обработки текстов. Отсюда и его название — Practical Extraction and Report Language (язык извлечения и составления отчетов), хотя иногда его называют Pathologically Eclectic Rubbish Lister (патологически эклектичный мусорный листер). Не стоит спорить о том, какое из этих названий более правильное, потому что авторство и того, и другого принадлежит Ларри Воллу (Larry Wall), создателю и главному архитектору, распространителю и опекуну языка Perl.
Основное применение Perl
Наибольшее распространение Perl получил при написании cgi-программ. Вы отлаживаете программу на своем домашнем компьютере (где, к примеру, установлена операционная система Windows), а затем просто копируете ее на сервер (где, скорее всего, установлен один из клонов Unix — FreeBSD, Linux,
|
Разберемся с понятиями. Cgi-скрипт — это программа, которая выполняется на веб-сервере по запросу клиента (посетителя веб-сайта). Программа принципиально ничем не отличается от обычных приложений, которые установлены на вашем компьютере — будь то MS Word или Quake. CGI — это не язык программирования, на котором написан скрипт, а Common Gateway Interface — специальный интерфейс, с помощью которого происходит запуск скрипта и взаимодействие с ним.
Есть один довольно неприятный момент: на сервере, где находится ваш сайт, должно быть разрешено выполнение cgi-скриптов. Скрипт, как и любая другая программа, может выполнять системные команды на сервере, что представляет собой потенциальную угрозу безопасности.
|
Функциональность
Как работает cgi-скрипт? Можно, конечно, привести какое-нибудь техническое руководство, но пользы от этого будет мало. Поэтому расскажу, как все происходит, своими словами. Итак, посетитель вашей страницы заполняет поля формы, например, для записи в гостевую книгу. После этого он нажимает кнопку Submit, которая и запускает cgi-скрипт. Скрипт выполняет запрограммированные действия — в данном случае считывает данные из формы и пишет их в файл гостевой книги — и посылает в браузер посетителя обычный html-код, например сообщение: "Спасибо, что вы оставили запись в гостевой книге".
Преимуществ cgi-скриптов перед JavaScript и Java несколько, и они весьма значительны.
1. Поскольку программа выполняется сервером, не имеет значения, какой у посетителя браузер — Netscape Navigator или Internet Explorer. Нет никаких глюков и сообщений об ошибках.
2. Cgi-скрипты позволяют реализовать гораздо более широкий набор функций.
3. Код cgi-скрипта закрыт для доступа.
Perl как язык программирования
Perl — это интерпретируемый язык программирования. Написанные программы анализируются в момент их исполнения и не требуют предварительной компиляции (сборки). Благодаря этому грамотно написанный Perl-скрипт (из-за того,
|
Perl перед выполнением программы полностью разбирает ее и компилирует в свой внутренний формат. Это значит, что после начала работы вы никогда не получите сообщения о синтаксической ошибке и что пробельные символы и комментарии не замедляют ход выполнения программы. Такой метод обеспечивает быстрое выполнение операций языка Perl и является дополнительным стимулом к отказу от использования С в качестве служебного языка. Но процедура компиляции все же требует времени, и применение большой Perl-программы, которая быстро выполняет одну маленькую задачу (из множества тех, которые она способна выполнить), а затем заканчивает свою работу, не будет эффективным, ибо время ее выполнения окажется ничтожно малым по сравнению со временем компиляции.
С одной стороны, Perl — это компилятор, потому что перед выполнением первого оператора программы она полностью считывается и разбирается. С другой стороны, он — интерпретатор, потому что никакого объектного кода, занимающего место на диске в ожидании исполнения, в данном случае нет. Другими словами, он сочетает в себе лучшее из компилятора и интерпретатора.
* * *
Прошли годы с момента создания Ларри Волом Perl, и теперь этот язык используется для решения гораздо более широкого круга задач. Это один из самых популярных языков для написания cgi-скриптов (программ для WWW), благодаря чему в последние годы его популярность резко возросла.
В одном из ближайших номеров "Мании" мы поговорим о Perl более подробно. А заодно ответим на вопросы, которые вы зададите... Ждем писем на адрес virbuk@mailru.com.