Как "оживить" Perl/CGI скрипт
Данная статья призвана помочь взять "быстрый старт" тем, кто решил строить Web-приложения "своими руками" и выбрал в качестве средства для их создания язык программирования Perl (Practical Electric Rubbish Lister). Здесь вы найдете сведения о том где "взять" Perl-интерпретатор и как его установить, какие существуют способы отладки Perl-программы, а в завершении ознакомитесь с самой простейшей Perl-программкой.
Начнем с того, что Perl - это язык для создания серверных скриптов (литературный эквивалент - сценарий), т.е. Perl-программа выполняется на Web-сервере, а не на компьютере пользователя, как, например JavaScript-сценарии или Java-апплеты. Поэтому для проверки ваших творений одного броузера будет мало, необходимо иметь доступ к Web-серверу. Самый простой способ разрешения данной проблемы - использовать для отладки Perl-программы сервер в Internet, на котором разрешено выполнение сценариев. Но в этом случае, первое - вы тратите свои кровно заработанные денежки, второе - наслаждаетесь "быстротой соединения с Internet" -). Я же хочу предложить вам несколько альтернативных методов отладки Perl-программ, которые, надеюсь, избавят вас от вышеописанных неудобств.
Итак,
Метод1. Установить на своем компьютере Web-сервер и работать с ним как с обычным Internet-сервером.
Метод2. Воспользоваться специальными программами-отладчиками.
Метод3. Перенаправлять результаты работы интерпретатора в файл (стандартная возможность любой ОС).
У каждого из этих способов есть свои достоинства и недостатки. Но прежде чем применить один из вышеописанных методов, нужно настроить Perl-интерпретатор. Первым делом следует загрузить интерпретатор из Internet. Для OC Windows 9x следует скачать файл по следующему URL-адресу: http://www.activeware.com/download/ActivePerl/Windows/5.6/ActivePerl-5.6.0.613.msi . Если вы же используете другую ОС, загрузите страницу по адресу http://www.activeware.com/download , на ней выберите соответствующую ссылку, после чего "скачивайте" предложенный для этой цели файл.
После окончания процесса загрузки, запустите файл ActivePerl-5.6.0.613.msi или соответствующий файл для вашей ОС. Начнется процедура установки, в процессе которой вам предстоит ответить на ряд вопросов. В частности, о том, в какую директория нужно установить интерпретатор (устанавливать Perl желательно по следующему пути: диск:\usr).
Web-сервер (например, Apache) "узнает" о том, какую программу необходимо запускать для интерпретации скрипта из первой строчки программного кода скрипта. Например, строка #!/usr/bin/perl означает, что интерпретатор находится в директории /usr/bin и имеет имя perl.
Далее подробно рассматриваются все вышеперечисленные методы отладки Perl-программ.
Метод 1
Главное достоинство данного метода - это то, что работа с вашим сервером полностью аналогична работе с "реальным" Internet-сервером. Основной же недостаток заключается в том, что вы видите только окончательный результат выполнения скрипта, и не можете проследить его выполнение по шагам. Максимальная эффективность достигается при использовании данного метода в комплексе с методами 2 и 3, которые описываются ниже.
В качестве Web-сервера рекомендую использовать Apache (это один из самых распространенных, надежных серверов, а главное, что он бесплатный). Для корректной работы Apache под Windows 95 необходимо установить Winsock 2 (для Windows 98 и Windows NT 4.0 эта процедура не потребуется). Загрузите с сайта фирмы Microsoft файл W95ws2setup.exe (http://www.microsoft.com/windows/downloads/bin/W95ws2setup.exe) и запустите его. Произойдет установка Winsock 2. Теперь скачиваем файл apache_1_3_12_win32.exe для установки Apache под Windows (http://www.apache.org/dist/binaries/win32/apache_1_3_12_win32.exe). После установки сервера, его необходимо сконфигурировать. Для этого в любом текстовом редакторе открываем файл httpd.conf , который находится в подпапке Conf папки, в которую был установлен Apache. Далее выполните следующие действия по конфигурации сервера:
1. Находим строку DocumentRoot и прописываем физический путь к корневому каталогу (сайту). У меня, например, этот путь следующий "C:/FrontPage Webs/Content/mudconnector/" (заметьте, что при указании пути используется Unix разделитель, даже в среде Windows). Корневой каталог является для сервера стартовой точкой при поиске документов. Обращение к корневому каталогу осуществляется по URL-адресу, в котором указано только имя сервера (имя папки или страницы не указывается). Обычно при употреблении термина каталог опускают слово "виртуальный". Виртуальные каталоги представляют собой директории (папки), доступ к которым через Web осуществляется по логическому имени (псевдониму). Физически эти папки могут находиться в любом месте на вашем жестком диске или на другом компьютере. При создании виртуальному каталогу присваивается псевдоним, который ставится в соответствии физическому пути к нему.
2. Чуть ниже находится строка со словом Directory и прописываем то же путь ("C:/FrontPage Webs/Content/mudconnector/").
3. Строка со словами Options All говорит о том, что включены все возможности сервера, в том числе и поддержка cgi.
4. В строке со словами ScriptAlias /cgi-bin/ указываем путь к cgi-bin каталогу (в моем случае этот путь "C:/Apache/cgi-bin/").
5. Чуть ниже в строке со словом Directory указываем тот же путь "C:/Apache/cgi-bin"
6. Добавляем строку AddHandler cgi-script .cgi .pl. Тем самым даем понять серверу, что все фалы с расширением .cgi, .pl - являются cgi исполняемыми, т.е. программами.
Итак, настройка сервера завершена. Если вы сделали все правильно, то после запуска файла apache.exe на экран будет выведено сообщение типа "Apache/1.3.12 (Win32) running...". Теперь загрузите броузер и введите URL-адрес http://localhost. В броузер будет загружена домашняя страница корневого Web-узла - index.html (на моем компьютере физический путь к этой странице C:/FrontPage Webs/Content/mudconnector/index.html)
Теперь проверим, как выполняется Perl-программа на нашем сервере. Для этого создадим простенькую программку, текст которой приведен ниже:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Ура работает!\n";
В текстовом редакторе создайте новый файл и введите вышеприведенный код программы. Сохраните данный файл, например, под именем test.pl в папке cgi-bin, которая находится в папке, в которую вы установили Apache. После этого перейдите в броузер и введите URL-адрес http://localhost/cgi-bin/test.pl. В броузер загрузится страница, содержащее долгожданное сообщение Ура работает! Это означает, что вы победили! Теперь можно закричать "Ура!"
Метод 2
Отладчик, какое это сладкое слово для программиста. Конечно же, используя отладчик, вы на порядок быстрее доберетесь до этих подлых глюков, которые мешают сделать рабочую программу. Но давайте серьезно. Существует довольно много программ-отладчиков для Perl-программ. Все они имеют свои плюсы и минусы. Рассмотрим наиболее популярные из них:
Perl Builder (http://www.querybot.com/perlbuilderev.exe) - одна из самых мощных и удобных программ - отладчиков под W32. Из наиболее полезных особенностей данной программы можно выделить: мощный механизм отладки скриптов, возможность просмотра значений переменных, очень удобный интерфейс эмуляции Cgi-запросов, приятный (дружественный) пользовательский интерфейс. Единственный минус, как для нас, жителей СНГ, это то, что данная программа коммерческая
DzSoft Perl Editor (http://www.dzsoft.com/download/dzperl22.zip) - эта программа также коммерческая. Небольшая и очень удобная программа. Особенности: возможность upload-а скриптов на сервер, быстрая вставка (вставка определенного куска кода нажатием, одной клавиши), возможность редактирования переменных окружения, возможность работать в разных кодировках, что очень удобно для русскоязычного пользователя.
Perl Studio (http://www.perl-studio.com/pstudio.exe) - очень мощный инструмент для создания Perl скриптов, функции отладки реализованы слабее, чем у вышеупомянутых "собратьев", но встроено очень много функций, полезных для создателя скриптов: автоматизация написания кода (например, SQL запросы, SSI - директивы), множество помощников и построителей, интуитивный интерфейс, хорошая документация. Опять же, программа коммерческая.
Метод 3
Самый простой метод работы с Perl-скриптами. Этот метод, не требует ни каких дополнительных программ кроме Perl - интерпретатора и броузера. Суть метода очень проста: после создания Perl скрипта мы запускаем интерпретатор и перенаправляем результаты работы в файл (например, для скрипта test.pl - perl test.pl > test.htm). После этого в полученном файле удаляем строку Content-type: text/html\n\n. Просматривая данный файл броузере, вы получите результат работы скрипта.
Рекомендуется не "зацикливаться" на каком-либо одном из этих методов, а стараться использовать комбинированный подход.