On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Жемчужные формы ... или как приобщиться к Perlовой каше быстрого приготовления

Дмитрий Шарапенко

Я помню, как первый раз в жизни решил создать интерактивную страничку в Интернете. Запустил редактор, нарисовал форму, отослал на сайт, пошел тестировать. Вот дурилка картонная: кликаю мышкой на кнопке "Отправить", и ничего не отправляется. Товарищей программистов на зарплате прошу не издеваться: меня любой ламер поймет. Именно так все мы, ламеры, и воспринимаем реальность программирования: нечто вроде магического мира с волшебными палочками. Вот есть мертвая форма, и как ее ни тормоши, она не оживет. А вот подошел волшебник в колпаке, поковырялся, палочкой помахал, и все заработало.

Спустя еще какое-то время я узнал, как называлась волшебная палочка для оживления формы - cgi-script ("си-джи-ай-скрипт"). Еще я узнал, что скрипт пишут на языке, который называется Perl. Хотя можно писать на C, но предпочитают Перл. Потом, в 1995 году, я оказался в офисе компании "ИнфоАрт" и во время экскурсии, которую мне устроили, сразу заметил паренька-доходягу с толстыми линзами очков и тоненькими ручонками. На его столе лежало огроменное книжище под названием "Перл". "Вот он, - подумал я, - тот самый перловый программист. Не сегодня-завтра умрет от истощения". После посещения этого хосписа мое уважение к "скриптам" достигло мифических размеров.

Как всякий самоуверенный ламер, я решил познакомиться с Перлом поближе и принялся читать умные книжки. Но из всех программистских книжек, книжки о Перле оказались самыми наглыми. Весь их пафос сводился к одному: "Орлы, ну мы-то с вами понимаем, что на C++ здесь должна стоять скобка, но в нашем Перле - все проще". Эдакий междусобойно-элитарный клуб любителей упрощенных вариантов. Короче говоря, у ламера есть только два способа оживить свои формы: нанять перловщика или найти скатерть-самобранку.

Ну а теперь - хорошие новости. Такие "самобранки" существуют. Мне известно целых две. О них и поведаю.

Первая "си-джи-ай-писалка" - CGI Star Pro. Самое в ней веселое - это довесок "Professional" в названии. Звучит как подлинное издевательство, потому что у профессионала CGI Star Pro ничего кроме тошноты вызвать не может. Зато для ламера - это спасение. Справиться с ней сумеет даже конченый аутист. Все, что требуется, - это:
А - Нарисовать форму.
Б - Запустить CGI Star Pro и выбрать тип сервера - под Unix или NT.
В - Открыть html-страницу, содержащую вашу форму. После этого CGI Stap Pro проверяет код, предупреждает об отсутствии обязательных полей (например, User_name, User_mail) и дает рекомендации по правильному написанию формы.
Г - Пометить звездочкой (*) те поля формы, которые обязательны к заполнению.
Д - Указать точный сетевой адрес, где будет размещаться скрипт, а также местоположение юниксовских программ mail и perl.
Е - Написать простенький текст для сообщения, которое получит посетитель вашей страницы после того, как удачно заполнит форму, и...

Все! Нажимаете на кнопку "Write CGI", и программа сама генерирует код. Ради интереса откройте созданный файл и попробуйте сосчитать, сколько лет вам бы потребовалось для того, чтобы самому залудить такую абракадабру.

После создания скрипта самое главное - правильно перебросить его на сервер. В девяноста случаях из ста ламерский скрипт не работает именно потому, что его неправильно перебрасывают. Дело в том, что у протокола ftp бывает два метода передачи данных: АSCII (для текста) и binary (для программ). Скрипты с расширением cgi следует передавать не как программу, а как текст, то есть ASCII.

Конечно, сказать, что возможности CGI Star Pro очень узкие, значит ничего не сказать. На самом деле си-джи-ай-скрипты используются не только для интерактивных форм, но и для миллиона прочих полезных дел: ведения статистики посещений сайта, создания гостевой книги, опроса мнений, создания интерактивных тестов и квизов, проведения шлюзов к реляционным базам данных, осуществления поиска и индексирования сайтов и т. п.

И тут у ламера есть еще два варианта: во-первых, посетить сайт download.ru, где покоится неплохая коллекция самых разнообразных скриптов на все случаи жизни. Другой вариант - это программа PerlBuilder. Только сразу хочу предупредить: PerlBuilder - это не CGI Star Pro. Тут нажиманием двух кнопочек не отделаешься. Зато и возможности программы на несколько порядков выше.

PerlBuilder претендует на то, чтобы считаться не просто программой, но подлинной интегрированной средой разработчика (IDE - integrated development environment) для создания скриптов Перл на платформе Windows 95/NT. Кроме очень удобного графического интерфейса, PerlBuilder обладает возможностью отлаживать скрипт и проводить его дебаггинг, как говорится, "не отходя от кассы" (правда, для этого требуется дополнительно установить бесплатный Перл для Windows. Помимо этого в PerlBuilder включен Мастер подсказок, который на порядок более гибок, чем CGI Star Pro, хотя по своей простоте не уступает австралийскому примитивисту.

Еще немного Перла

Есть и еще одна оболочка - DZ Perl Editor. Она не настолько "визуализирована", как PerlBuilder и предоставляет полную свободу для любителей во всем разобраться досконально и понять, как "это" работает. В программе имеется возможность автоматической вставки блока кода для обработки форм, отправляемых как методом GET, так и POST. Однако помощь (на английском) реализована в лучшем духе юниксовых/линуксовых конференций - когда надо узнать что-то конкретное, тебе вываливают горы малопонятной документации. Вобщем, довольно неплохой вариант для тех, кому стало интересно внутреннее устройство Perl-скриптов.

Ну и напоследок хочу добавить, что мало будет сделать или скачать скрипт - самое главное, чтобы администратор сервера, где лежит Ваш сайт, допускал размещение у себя Ваших неведомых зверушек. В лучшем случае, придется долго уговаривать его, что скрипт ну просто позарез необходим и вообще - расплата виртуальным пивом. А в худшем (для Вашей самодеятельности, но не для админа) случае придется довольствоваться подключением к всеразличным бесплатным CGI-скриптам и, скорее всего, абсолютно бесплатно учиться не обращать внимание на рекламу, которую Вам за это будут скармливать.



Литература по Perl