Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> Perl -> Программирование на PERL


Программирование на PERL. Второй выпуск. Использование CPAN для интерактивной и автоматической инсталляции модулей. Alex Ott.

Для многих программистов одним из достоинств Perl является наличие большого числа готовых модулей, которые позволяют использовать Perl практически в любой области. Множество модулей включено в базовую поставку, но еще большее количество вы можете найти воспользовавшись Comprehensive Perl Archive Network (Всеобъемлющую Сеть Архивов Perl), называемую также CPAN, который распологается по адресу http://www.perl.com/CPAN/CPAN.html.

Модули находящиеся на CPAN можно скачивать и компилировать вручную (как правило последовательность команд компиляции и требуемые модули, перечислены в файле README, обычно входящем в состав дистрибутива модуля). Но в состав дистрибутива Perl входит полезный модуль под названием CPAN. Он позволяет автоматизировать операции установки необходимых программисту модулей, включая установку модулей, от которых зависит устанавливаемый модуль.

Модуль позволяет работать в интерактивном и пакетном режимах, что позволяет использовать его всем пользователям. Настройки, которые влияют на то, откуда и как скачиваются модули, как правило задаются при первом запуске данного модуля, и хранятся в файле $PERLLIB_PREFIX/$PERL_VERSION/CPAN/Config.pm (например, /usr/lib/perl5/5.6.1/CPAN/Config.pm). Также в этом файле задаются дополнительные флаги для Makefile и прочая информация.

Интерактивный режим работы

Вход в интерактивный режим производится запуском Perl следующей командной строкой perl -MCPAN -e shell. При самом первом запуске данного модуля вам придется ответить на несколько вопросов относительно параметров системы и расположении сервера CPAN, с которого будет производиться загрузка модулей. Затем вы получите командную строку, в которой и сможете выполнять разные команды.

Для установки модуля, имя которого вы знаете точно, используется команда install ModuleName. При этом выполнится последовательность команд make, make test и make install. Если устанавливаемому модулю для работы требуется модуль, который отсутствует в системе, то у пользователя запросят подтверждение на установку необходимого модуля. При запуске команды install выполняется проверка того, нуждается ли модуль в обновлении.

Установка файлов в систему, производится только в том случае, если выполнение make test прошло без ошибок. Для принудительной установки модуля используется команда force install ModuleName.

Для поиска модуля используется команда i /text/, при этом будут найдены все модули в названии которых входит слово text. Затем полученные имена модулей можно использовать для установки. Команда i, является наиболее общим случаем поиска. Для поиска по именам пакетов, авторов, модулей и файлов дистрибутивов используются команды b, a, m и d соответственно.

Существуют также дополнительные команды, которые используются только для извлечения дистрибутивов модулей или относящихся к ним файлов описаний. Команда get только скачивает указанный ей пакет, и н выполняет больше никаких действий. Команда readme отображает файл README для указанного дистрибутива.

Также полезной является команда r, которая перечисляет модули, версии которых меньше текущих версий соответствующих модулей, доступных на CPAN.

Пакетный режим работы

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

perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

Каждая из доступных команд, возвращающих списки модулей, также может возвращать списки идентификаторов модулей. Затем данные идентификаторы могут быть преобразованы в соответствующие реальные объекты с помощью метода CPAN::Shell->expand("Module",@things). Затем с помощью полученного объекта может быть произведена установка модуля. Например, вот как будет выглядеть установка модулей Net::FTP, MD5 и Data::Dumper:

for $mod (qw(Net::FTP MD5 Data::Dumper)){
    my $obj = CPAN::Shell->expand('Module',$mod);
    $obj->install;
}

Полезные советы

Модуль CPAN поддерживает концепцию пакетов (bundles). Эта концепция упрощают работу с группами модулей, связанных общими свойствами. Пакеты являются обычными модулями в пространстве имен Bundle::. Они не определяют никаких функций или методов, и как правило содержат только документацию. Когда пользователь устанавливает такой модуль, то происходит установка всех модулей, которые перечислены в тексте заданного для установки модуля.

Для удобной работы с модулем CPAN лучше установить дополнительные модули (например, Term::ReadKey и Term::ReadLine::GNU) , которые обеспечивают дополнение в командной строке по клавише табуляции и другие удобные возможности. Установка всех модулей производится командой install Bundle::CPAN.

Если вы не являетесь системным администратором, то для для установки двоичных файлов, модулей и документации для себя, вам необходимо добавить строку PREFIX=/путь/куда/вы/имеете/право/записи к параметру настройки makepl_arg. Все файлы будут установлены в каталоги, расположенные ниже каталога PREFIX, в не в системные каталоги. Для использования установленных таким образом модулей, вам необходимо будет добавить PREFIX в пути поиска файлов Perl.

Для получения дополнительной информации о модуле CPAN, его командах и параметрах настройки, смотрите perldoc CPAN.

Alex Ott

Третий выпуск. Основы работы с HTML с использованием HTML::Parser.
Первый выпуск. Работа с шаблонами. Использование HTML::Template с CGI-скриптами.
Оглавление раздела

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.