Next Previous Contents

1. Где взять перл и все с ним связанное

1.1 Где можно взять перл?

На CPAN == Comprehensive Perl Archive Network. Homepage CPAN -- http://www.cpan.org/ -- там берут все, связанное с перлом. Собственно исходники новейшей версии перла берут из файла http://www.perl.com/CPAN/src/latest.tar.gz (на самом деле с www.perl.com стоит редирект на ближайший, по мнению www.perl.com, mirror).

1.2 Где можно скачать перловскую библиотеку для работы с WWW?

Там же, где и все, относящееся к перлу -- на CPAN. Полный список всех модулей и библиотек -- http://www.cpan.org/CPAN.html

1.3 C www.cpan.org слишком долго качается, нет ли где поближе?

Есть. Полный список зеркал находится в ftp://ftp.nluug.nl/pub/languages/perl/CPAN/MIRRORED.BY, там можно найти funet или что там поближе, или даже российские зеркала, например ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/ (иногда в дауне).

1.4 Я скачал модуль Lib::Module. Как его установить?

Обычно модуль приходит в формате tar+gzip, типа module-0.01.tar.gz. Вам необходимо его развернуть: tar zxf module-0.01.tar.gz и перейти в образовавшуюся директорию, например module-0.01: cd module-0.01 Обычно там находятся несколько файлов. Для вас будут важными следующие:

README

что это за модуль

INSTALL

как его поставить

Makefile.PL

перловый скрипт для генерации Makefile

Обычно инсталляция происходит следующим образом:

perl Makefile.PL

генерация Makefile

make all

сборка модуля

make test

тестирование модуля

make install

инсталляция модуля

Необходимо внимательно смотреть, не возникли ли какие ошибки во время первых трех команд. Внимание: вы должны иметь административные привилегии для инсталлирование модуля в системе (обычно как root).

Но, если вы их не имеете, то можете инсталлировать модуль у себя. Для этого вам необходимо выбрать, где это будет делаться. Для примера, в $HOME/lib/perl5. Необходимо создать эти директории, если их нет:

 
 mkdir ~/lib
 mkdir ~/lib/perl5
Затем, при генерации Makefile для модуля, вы должны указать, где вы хотите инсталлировать модуль:perl Makefile prefix=$HOME Все остальные шаги без изменений. В результате вы получите альтернативное место, где у вас будут находиться модули. Например, у меня это выглядит так:
  artur@disco:~ (681) ls -alFg ~/lib/perl5/
  total 704
  drwxr-sr-x   8 artur    staff        512 Oct 06 15:53 ./
  drwxr-sr-x   9 artur    staff       1024 Oct 08 10:50 ../
  drwxr-sr-x   4 artur    staff        512 Mar 31 1998  aix/
  drwxr-sr-x   2 artur    staff        512 Aug 06 13:40 CPAN/
  -r--r--r--   1 artur    staff     126951 Jul 24 19:37 CPAN.pm
  drwxr-sr-x   3 artur    staff        512 Mar 31 1998  man/
  drwxr-sr-x  31 artur    staff       1024 Sep 09 15:41 site_perl/

Для того, чтобы их использовать, есть несколько путей:

  1. указывать при запуске perl в командной строке:
    perl -I$HOME/lib/perl5 -I$HOME/lib/perl5/site_perl script.pl
    
  2. завести переменную шелла PERL5LIB: для sh (bash,zsh,ksh)
    PERL5LIB=$HOME/lib/perl5:$HOME/lib/perl5/site_perl
    
    export PERL5LIB для csh (tcsh)
    setenv PERL5LIB $HOME/lib/perl5:$HOME/lib/perl5/site_perl
    
  3. указывать в начале скриптов дополнительные библиотеки:
    use lib "/home/you/lib/perl5";
    use lib "/home/you/lib/perl5/site_perl";
    
    Данный случай подходит к CGI-скриптам, которые не наследуют ваших переменных окружения.

1.5 Как автоматизировать процесс установки библиотек и модулей?

Скачивание и установка вручную -- достаточно сложное занятие, требующее постоянного вмешательства с вашей стороны. Можно простым способом: сделать su (желательно), запустить perl -MCPAN -e shell. Если это первый запуск модуля CPAN, вам зададут серию вопросов на тему URL вашего любимого зеркала CPAN. После этого все просто: если вы знаете название модуля или библиотеки, то набираете, скажем, install Net::NNTP. Тогда этот модуль (для работы с NNTP) сам ищется на CPAN, сам скачивается, компилируется, устанавливается. Все, поставили, можно выходить и использовать вновь установленный модуль. Если название точно не известно, то набираем там же help и используем различные команды поиска типа i NNTP.

1.6 У меня нет root-привилегий. Можно ли использовать модуль CPAN для установки модулей в этом случае?

При использовании CPAN-модуля вам необходимо сконфигурировать его таким образом, чтобы он сам инсталлировал модули туда, куда вы укажете. Для этого вам необходимо подредактировать файл ~/.cpan/CPAN/MyConfig.pm: указать в строке &makepl_arg& =& q[prefix=/home/you], и теперь всегда при автоматической инсталляции модули будут ставится к вам в $HOME/lib/perl5 Более подробно обо всем этом можно прочитать в документации к ExtUtils::MakeMaker.

NB: Современный Модуль СPAN все сам спросит и сделает.


Next Previous Contents