Xpoint
   [напомнить пароль]

Программирование::Perl::Модули - F.A.Q.

Как померять производительность.
Использовать модуль Benchmark (perldoc Benchmark). Например:
$ perl -MBenchmark -de0
  DB<1> sub a1 () { my $a = "aa" . "bb"; }

  DB<2> sub a2 () { my $a = sprintf "%s%s","aa","bb"; }

  DB<3> timethese (10000,{ "cat" => \&a1, "sprintf" => \&a2 });
Benchmark: timing 10000 iterations of cat, sprintf...
       cat:  2 wallclock secs ( 1.51 usr +  0.00 sys =  1.51 CPU)
   sprintf:  2 wallclock secs ( 1.53 usr +  0.00 sys =  1.53 CPU)


  DB<4> timethese (100000,{ "cat" => \&a1, "sprintf" => \&a2 });
Benchmark: timing 100000 iterations of cat, sprintf...
       cat: 15 wallclock secs (15.20 usr +  0.09 sys = 15.29 CPU)
   sprintf: 17 wallclock secs (15.17 usr +  0.05 sys = 15.22 CPU)

  DB<5> 

Померяли производительность sprintf vs .

Мой модуль VS уже установленный
Если вы хотите поставить новый или заменить старый модуль, но не имеете привелегий сделать это в системном каталоге - вы можете сделать это в своем собственном:
  • perldoc -q lib
  • perldoc lib
Как из Unix систем подключиться к базам данных Sybase или Microsoft SQL Server?
Воспользуйтесь решением FreeTDS, доступным на сайте проекта www.freetds.org.
FreeTDS это бесплатная версия протокола TDS (Tabular Data Stream) используемого Sybase и Microsoft в их базах данных.
Подробную информацию вы можете найти на вышеуказанном сайте.
Как инсталлировать дополнительные модули Perl для Windows?
1) В состав поставки ActivePerl входит инструмент для инсталляции пакетов Perl Package Manager (PPM). Для инсталляции необходимого Вам пакета нужно запустить PPM в DOS сессии, набрав команду
C:\>ppm
после этого можно инсталлировать нужный пакет (модуль):
install <имя_модуля>
Вы увидите приглашение менеджера пакетов:
PPM interactive shell (2.1.5) - type 'help' for available commands.
PPM>
Список команд:
Commands:
    exit              - leave the program.
    help [command]    - prints this screen, or help on 'command'.
    install PACKAGES  - installs specified PACKAGES.
    quit              - leave the program.
    query [options]   - query information about installed packages.
    remove PACKAGES   - removes the specified PACKAGES from the system.
    search [options]  - search information about available packages.
    set [options]     - set/display current options.
    verify [options]  - verifies current install is up to date.
    version           - displays PPM version number
Для поиска нужного пакета воспользуйтесь поиском:
PPM>search DBD
- вы увидите результат поиска ввиде списка пакетов DBD, найденных в репозитории:
Packages available from http://ppm.ActiveState.com/cgibin/PPM/ppmserver.pl?urn:/PPMServer:
DBD-CSV      [0.1025] DBI driver for CSV files
DBD-DB2      [0.75  ] Perl driver for IBM DB2 Universal Database
DBD-JDBC     [0.63  ] JDBC proxy driver for the DBI module
DBD-Mysql    [1.2200] DBI driver for Mysql datasources
DBD-ODBC     [0.28  ] ODBC driver for the DBI module.
DBD-Oracle   [1.06  ] Oracle database driver for the DBI module
DBD-Oracle8  [1.06  ] Oracle 8 database driver for the DBI module
DBD-Ovrimos  [0.12  ] DBI Driver for Ovrimos (formerly Altera SQL Server)
DBD-RAM      [0.072 ] a DBI driver for files and data structures
DBD-Recall   [1.8   ] Database fault tolerance through replication.
DBD-SQLrelay [0.1   ] perl DBI driver for SQL Relay
DBD-Sprite   [0.13  ] Modified version of Sprite to manipulate text delimited
DBD-Sybase   [0.91  ] DBI driver for Sybase datasources
DBD-XBase    [0.161 ] Perl module for reading and writing the dbf files
DBIx-AnyDBD  [1.98  ] DBD independant class
Теперь, для того чтобы установить нужный пакет набирите
PPM>install DBD-Mysql
- программа установит выбранный вами пакет непосредственно из репозтория.

2) Если связь с репозиторием не слишком хороша или вы хотите сохранить пакеты для последующего переноса на другой компьютер, вы можете скачать zip пакетов с http://www.activestate.com/PPMpackages/zips/.

Учтите, что для версии Perl 5.6.x нужны пакеты http://www.activestate.com/PPMPackages/zips/6xx-builds-only/ - ActivePerl 6xx (e.g. ActivePerl 623)!!!

Вам нужно разархивировать скаченный модуль. После этого найти файл, соответствующий названию пакета и имеющий расширение '.ppd', и набрать команду:

C:\tmp>ppm install <файл с расширением .ppd>
(пример: ppm install libwin32.ppd)

PPM также позволяет Вам паковать свои собственные модули в PPM-пакеты. Дополнительная информация о том, как это сделать, и о том, где взять необходимые для этого программы nmake, tar и gzip содержится в руководстве по ActivePerl в разделе
'ActivePerl Components' -> 'PPM' -> 'How do I make a PPM package?'

Версии tar и gzip находяться в составе Unix 95 Collection Version 7
nmake - ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe

Автор Алексей Рюмин

Как инсталлировать модули со CPAN под Windows?
Еще раз хочу напомнить: если у нужного вам модуля есть аналог в репозитории ActiveState - лучше воспользоваться им!

Для чего может понадобиться инталляция модуля со CPAN?

  • нужный пакет отсутствует на ActiveState
  • вы хотите воспользоваться пакетом на предоставляемом хостинге, но его там нет :-(

Вам понадобятся версии архиваторов TAR и GZIP для Windows и утилита nmake от Microsoft

Теперь скачиваем нужный нам модуль с http://www.cpan.org. Я обычно пользуюсь ссылкой Perl core and CPAN modules documentation (Randy Kobes) - http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?request=search и ввожу имя модуля для поиска. Например, Mail::Sender

Скачиваем модуль ввиде архива - Mail-Sender-0.7.10.tar.gz - и распаковываем его. Получаем дирректорию Mail-Sender-0.7.10. В ней находиться файл Makefile.PL

Внимание! Многие модули требуют наличия других (взаимозависимы)! Эти модули требуется установить ДО установки нужного модуля. Тщательно изучите файл README и т.п. перед установкой пакета!
Теперь разварачиваем пакет:
C:\tmp\faq\2xpoint\Mail-Sender-0.7.10>perl Makefile.PL
C:\tmp\faq\2xpoint\Mail-Sender-0.7.10>nmake
На этом шаге вы получите в вашей директории под директорию со структурой пакета:
blib
  |__arch
  |__lib
      |__auto
      |__Mail
Если вы хотите использовать пакет на внешнем хостинге, вам нужно скопировать директорию Mail в директорию на хостинге и использовать в ваших скриптах указание:
BEGIN {push (@INC, 'путь_к_дирректории_библиотеки');}
use Mail::Sender;
- интерпритатор просматривает модули в путях, указанных в @INC. Ваш модуль обозначен как Mail::Sender, и при его поиске в заданных путях будет искаться поддиректория Mail, в которой должен находиться модуль Sender.pm

Для завершения исталяции на ваш компьютер можно посиупить так же, а можно "положиться" на традиционную инсталяцию:

C:\tmp\faq\2xpoint\Mail-Sender-0.7.10>nmake test
C:\tmp\faq\2xpoint\Mail-Sender-0.7.10>nmake install
- при благоприятном исходе последняя команда поместит модуль в структуру Perl-библиотек на вашем компьютере и вам уже не надо будет указывать путь к размещению модуля.

Автор Алексей Рюмин
Powered by POEM™ Engine Copyright © 2002-2005