Мова може вважатися закінченим тільки тоді, коли
в його синтаксисі використовуються всі клавіші на клавіатурі
Батько-засновник Perl
Мабуть, установка Perl – один з найпростіших кроків, однак, як це не парадоксально, він найчастіше породжує найбільше ускладнень. Наведені нижче рекомендації допоможуть Вам встановити Perl і забути про всі неприємності, пов’язаних з CGI-скриптами на Perl.
Насамперед відвідайте http://www.activestate.com, зайдіть у розділ Downloads і скачайте звідти самий останній дистрибутив Perl для платформи Win32. При цьому дотримуйтесь рекомендацій, наведених на сайті. Коротенько вони полягають у наступному: Perl надається не у вигляді саморазворачівающегося exe-архіву, а у вигляді так званого msi-архіву для Microsoft Installer-а. Можливо, на Вашому комп’ютері Installer не встановлений, так що Вам доведеться це зробити, перш ніж встановлювати Perl (посилання на дистрибутив Microsoft Installer-а наведена на сайті в розділі Downloads).
У Провіднику клацніть двічі на імені файлу щойно завантаженого дистрибутива Perl. Автоматично запуститься Microsoft Installer і почнеться процес установки. Як звичайно, натискайте кнопку Next доти, поки не з’явиться діалог із запитом директорії, в яку буде встановлений Perl. Типово там пропонується C: Perl. Рекомендуємо змінити цю директорію на щось більш зручне – наприклад, C: Program FilesPerl. Якщо Ви любите порядок, зробіть це обов’язково.
Тепер налаштуємо сервер. Знайдіть у файлі конфігурації Apache httpd.conf рядок
AddHandler cgi-script. Bat. Exe
Замініть її на
AddHandler cgi-script. Bat. Exe. Pl. Cgi
Як це не дивно, але цю директиву AddHandler іноді вказувати не обов’язково. Однак краще перестрахуватися …
Знайдіть і розкоментуйте параметр:
ScriptInterpreterSource registry
Це дозволить Apache використовувати Реєстр для пошуку Perl-інтерпретатора.
Ось, власне, і все. Для перевірки працездатності Perl зоздайте в директорії z: localhostcgi файл test.pl з таким змістом:
#! / Usr / local / bin / perl-w
print Content-type: text / html;
print It works!
;
system (dir);
Важливо!
Зверніть увагу на першу сходинку в скрипті. Можна подумати, що вона вказує Apache, що Perl розташований в z: usrlocal? Inperl.exe. Насправді ж Apache бачить, що такого файлу не існує, і використовує Реєстр для пошуку асоціації для розширення pl. Відбувається це завдяки директиві ScriptInterpreterSource, яку ми активізували до цього. Однак, хоча Apache ігнорує перший рядок в скрипті, Perl її іспольчует для того, щоб визначити, які прапори були використані при його запуску (у нашому прикладі це прапор-w, який включає режим виведення повідомлень про помилки в скрипті).