Области применения Perl

Наиболее широко Perl используется для разработки инструментов системного администрирования, однако в последнее время он получил огромную популярность в области разработки Интернет-приложений: CGI-сценариев, систем автоматической обработки электронной почты и поддержки узлов Web. В этом разделе мы кратко охарактеризуем возможности Perl в каждой из указанных областей.

Системная поддержка UNIX и Windows

Как отмечалось ранее, именно задача соединения в одном языке программирования возможностей различных средств системного администрирования UNIX послужила толчком к разработке и созданию языка Perl. Он и разрабатывался таким образом, чтобы оптимизировать решение именно этих задач, не прибегая к другим инструментам. На настоящий момент язык Perl является основным средством администрирования UNIX, которое соединяет в себе возможности практически всех традиционных средств администрирования. Эта его универсальность, а также то, что задачи Perl обычно решает быстрее, чем другие аналогичные средства, и способствовала широкому распространению языка среди системных администраторов и программистов UNIX.
Perl находит своих приверженцев и среди администраторов операционных систем семейства Windows. Многие задачи, особенно связанные с составлением статистических отчетов работы серверов локальных сетей Windows NT/2000, web-серверов IIS или рабочих станций, достаточно просто решаются написанием небольших Perl-сценариев, Правда, при этом приходится использовать функции стандартного пакета Win32, так как конфигурационная информация в этих операционных системах хранится в двоичных базах данных. Вот некоторые примеры задач, которые можно решать в этих операционных системах с помощью Perl:
Кроме перечисленных традиционных задач администрирования, в настоящее время приходится решать также задачи, названные в классификации Пратта и Зелковица задачами контроля одной программы другой (например, регулярное резервное копирование файлов в полночь, ежечасная синхронизация времени, автоматический ответ на электронные письма во время отпуска, автоматическое тестирование программы после се успешной компиляции и т, д.). Подобные задачи автоматического запуска и управления выполнением программы называются процессами. Для их решения наиболее подходят так называемые языки сценариев. В системе UNIX shell-сценарии могут активизироваться при выполнении некоторых допустимых условий, что позволяет широко их использовать для управления процессами. Однако кроме командной оболочки shell для этих же целей можно использовать и другие языки сценариев, в том числе и Perl. Таким образом, для языка Perl открываются новые области применения, о которых его создатель Ларри Уолл даже и не подозревал.

CGI-сценарии

Одной из первых технологий динамического получения клиентом информации с web-сервера является технология CGI-сценариев, продолжающая и по настоящее время достаточно широко применяться в Интернете. Суть ее заключается в обработке информации, вводимой пользователем в поля формы страницы HTML, с помощью запускаемой на сервере специальной программы. Информация из полей формы пересылается на сервер с помощью протокола HTTP либо в заголовке, либо в теле запроса и обрабатывается этой программой, которая после анализа полученных данных выполняет определенные действия и формирует ответ в виде Новой страницы HTML, отсылаемой обратно клиенту. Сценарий может быть написан, собственно говоря, на любом языке программирования, имеющем доступ к так называемым переменным среды и реализующей CGI-протокол (интерфейс обмена данными между программой и сервером). Но сценарии Perl получили наибольшее распространение из-за легкости создания и оптимизационных возможностей обработки текстовых файлов языка Perl. В Интернете можно найти буквально тысячи примеров динамического CGI-программирования на Perl.
Его большая популярность в реализации подобных задач на UNIX-серверах Интернета привела к тому, что разработчики серверов, работающих в других операционных системах, стали включать возможность подключения сценариев Perl в свои системы. В настоящее время сценарии Perl можно использовать и на сервере Internet Information Server фирмы Microsoft для операционных систем семейства Windows, и на серверах Apache, NCSA и Netscape для операционной системы UNIX.

Обработка почты

Другая популярная область применения Perl — автоматическая обработка электронной почты Интернета. Сценарии Perl можно использовать для фильтрации почты на основе адреса или содержимого, автоматического создания списков рассылки, а также для решения многих других задач обмена информацией на основе электронной почты. Одной из наиболее популярных программ для работы с электронной почтой является программа Majordomo, полностью реализованная средствами Perl.
Возможности Perl в этой области огромны и ограничиваются только фантазией разработчика. Можно, например, написать сценарий, который обрабатывает входящую почту и добавляет сообщения на заранее созданную страницу новостей сортируя их по соответствующим темам, что позволяет быстро просматривать почту, не тратя время на чтение всей полученной корреспонденции. По прошествии определенного времени сообщения удаляются со страницы.

Поддержка узлов Web

Узел Web — это структурированное хранилище страниц HTML, которые являются обычными текстовыми файлами в специальном формате, понимаемом программами просмотра их содержимого. Perl оптимизирован для обработки большого количества текстовых файлов, поэтому его использование для анализа и автоматического изменения содержимого узла Web вытекает из тех задач, для решения которых он специально и создавался, Его, например, можно использовать для решения задачи проверки правильности перекрестных ссылок на страницах узла Web, как, впрочем, и для проверки правильности ссылок на другие узлы (правда, здесь придется воспользоваться модулями создания сокетов и работы с ними).
Возможности записи и чтения в сокеты и из них языка Perl позволяют использовать его сценарии для взаимодействия с другими узлами и получения информации на основе протокола HTTP. Следует отметить, что существуют даже серверы, написанные на Perl. Как упоминалось ранее, именно эти возможности Perl можно использовать для удаления со страниц HTML узла Web ссылок на несуществующие другие узлы.
Perl может работать и с протоколом FTP. Это позволяет автоматизировать получение файлов с других узлов, а в сочетании с его возможностями обработки текстовых файлов позволяет создавать сложные информационные системы.

Следующая страница Содержание главы


Реклама