« Поставить закладку » « Сделать стартовой »

« Форумы » « Блоги » « Статьи » « Новости » « Файлы » « Realcoding IRC » « Site map » « Поиск »


Главная Главная
Анонсы Анонсы
Форумы Форумы
Каталог Каталог
Поиск Поиск
Опросы Опросы
Книжный магазин Книжный магазин
Реклама на сайте
Публикации Публикации
Партнеры Партнеры
Карта Карта сайта
Рассылки Рассылки
RSS экспорт
Настройки Настройки
О нас пишут О нас пишут
Контакты Контакты
Гостевая книга Гостевая книга



ПнВтСрЧтПтСбВс
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
    Популярное
Функция AccessResource

Играем с CMOS, или Проснись и пой, компьютер мой

Описание функций C (Си) / C++ - realloc

Пять столпов в основе Windows 7: ориентирована на веб-службы

Открытие рисунков

Функция date() - вывод даты и времени в PHP

Основы HTTP на примере Delphi

Механизм обработки сетевых событий в Winsock2

Новые возможности служб Google доступны уже сегодня

JSP Custom Tags




    Архив файлов



    Сообщества

    Документация

    Кто на сайте
Вы не зарегистрированы.
Имя:

Пароль:

Запомнить

Регистрация позволит Вам пользоваться дополнительными сервисами.
Сейчас на сайте:
Гостей: 207
Пользователей: 0

Статьи:: Интернет технологии :: Perl :: Как "оживить" Perl/CGI скрипт



отправить ссылку другу версия для печати  Обсудить на форуме

Как "оживить" Perl/CGI скрипт



Как "оживить" Perl/CGI скрипт
Denis Misko

Данная статья призвана помочь взять "быстрый старт" тем, кто решил строить 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/htmlnn";
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/htmlnn. Просматривая данный файл броузере, вы получите результат работы скрипта. 

Рекомендуется не "зацикливаться" на каком-либо одном из этих методов, а стараться использовать комбинированный подход.




Рубрика: Perl




Подгрузка через AJAX HTML-кода, содержащег....

AJAX

При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.


Подробнее... | Рубрика: AJAX | Добавлено: 19.11.2008

Обзор нового релиза самой мощной Ajax библ....

AJAX

Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.


Подробнее... | Рубрика: AJAX | Добавлено: 19.11.2008

Firebug 1.3 и 1.4 alpha — что нового и инт....

Вебмастеру

Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.


Подробнее... | Рубрика: Вебмастеру | Добавлено: 19.11.2008

Остальные статьи:

Релиз Microsoft Silverlight 2.0. Что новог...
XML документация в C#
Курсоры в MySQL 5
Microsoft опубликовала подробности о сесси...
Microsoft делится подробностями о том, что...
Тестируем новый javascript от нового брауз...
MySQL Query Cache
Использование провайдеров компиляции в As...
Чего мы ждем от C# 4.0
Delphi 2009 и C++Builder 2009
Джоэл Спольски и Джеф Этвуд запустили новы...
Поиск кода Google /* что нового? */
10 jQuery скриптов для улучшения интерфейс...
Генераторы отчетов FastReport 4 и QuickRep...
День программиста — набор стерeотипов
Индусские програмисты
Вышел Django 1.0
Портативная версия Google Chrome Portable
Исходные коды .Net Frameword 3.5 SP1 для о...
Пишем правильный online WYSIWYG-редактор


Цитата дня (все,добавить):

Портал фрилансеров

работа на дому


    Рубрикатор

Программирование

C/С++
Обучение
Windows API
XAML
Моделирование
Паттерны
Visual Basic 7 .NET
WxWidgets
Функции WinApi
Функции С++
Разработка под Mac OS
Eiffel
Visual Studio 2008
UI дизайн
Алгоритмы
Конкурсные статьи
Turbo Pascal
Visual Studio
CASE-средства
Visual Studio 2005
Без VCL
Delphi
Тех. документация
Тестирование
Software Testing
ООП
TCP/IP
Google Android
Windows Installer
.NET Framework
Драйвера
C# C Sharp
Справка
Проектирование
Информ. системы
Visual Basic
Assembler
Оптимизация кода
Gtk+
Компоненты
Реинжиниринг
Управление проектами
Extreeme programming
Lotus Notes
Алгебраическое проектирование


Интернет технологии

PHP
Perl
ASP
WAP
Cookies
SSI
CGI
Web Servers
VB Script
DNS
CSS
XML
Html
Java Script
Java2ME
Firewall
Flash
.htaccess
Apache
VRML
Протоколы
Поисковые системы
Технология JAVA
Учебник по PHP
Учебник по JavaScript
Учебник по XML
Java Q&A
AJAX
DHTML
XHTML
Dreamweaver
Web 2.0
Python
Вебмастеру
Cisco
Ruby on Rails
Silverlight

Базы данных

Access
InterBase
MySQL
Oracle
ADO .NET
Основы SQL
Учебник по Access 2002
MS
Microsoft FoxPro
Доступ к данным
XML в MS SQL Server 2000
ODBC и MyODBC
Обучение
Caché
DB2
PostgresSQL
Sybase
Теория
Хранилища данных
Безопасность
Реляционные данные
MySQL и mSQL

Остальное:

Разное
Обзоры книг
Безопасность
Графика и дизайн
Юмор
Linux
Фракталы
Microsoft Axapta
Многоядерность
Сети
Microsoft Office
Работа
MS-DOS
Криптография
Графика и игроделание
Новости SDK
Системы защиты
Учебник по AutoCad
CVS
Windows XP
Windows Server 2003
Windows Vista
Windows 7
Мероприятия