Ru-Board.club
← Вернуться в раздел «Web-программирование»

» Как добавить модуль в Perl

Автор: AGurin
Дата сообщения: 13.03.2003 10:47
Нигде не нашел ни ридми, ни факов на эту тему...
Просто совсем недавно занялся перлом и вот сейчас не знаю как добавить какой то модуь.
А именно модуль CGI-SSI
http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?dist=CGI-SSI
Автор: Cheery
Дата сообщения: 13.03.2003 11:00
Тупой ответ ) Запускаешь Perl Package Manager (он есть в станд. установке Active Perl) и далее такие действия:

Код:
ppm> install CGI::SSI
Searching for 'CGI::SSI' returned multiple results. Using 'search' instead...
Using cached search result set 1.
1. CGI-SSI-Remote [0.03] Perl extension for fetching remote SSI scripts
2. CGI-SSI_Parser [0.01] Implement SSI for Perl CGI
ppm> install CGI-SSI_Parser
====================
Install 'CGI-SSI_Parser' version 0.01 in ActivePerl 5.8.0.804.
====================
Downloaded 3767 bytes.
Extracting 6/6: blib/arch/auto/CGI/SSI_Parser/.exists
Installing C:\webserver\perl\html\site\lib\CGI\SSI_Parser.html
Installing C:\webserver\perl\site\lib\auto\CGI\SSI_Parser\autosplit.ix
Installing C:\webserver\perl\site\lib\CGI\SSI_Parser.pm
Successfully installed CGI-SSI_Parser version 0.01 in ActivePerl 5.8.0.804.
ppm>
Автор: AGurin
Дата сообщения: 13.03.2003 11:02

Цитата:
Тупой ответ ) Запускаешь Perl Package Manager (он есть в станд. установке Active Perl) и далее такие действия:

как его запустить?
система - линух, сидю в нем через ssh
Автор: Cheery
Дата сообщения: 13.03.2003 11:17
Тады скачиваешь. Распаковываешь и запускаешь Makefile.PL
Автор: AGurin
Дата сообщения: 13.03.2003 11:22
каким макаром запускать?
perl /путь_к_файлу/Makefile.PL - выдал ошибку...
Автор: Cheery
Дата сообщения: 13.03.2003 11:26
как ругается то?
Автор: AGurin
Дата сообщения: 13.03.2003 11:33
==============
Warning: prerequisite HTML::SimpleParse failed to load: Can't locate HTML/SimpleParse.pm in @INC (@INC contain
s: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/per
l5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i3
86-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .) at (eval 8) line 3.
Could not open 'SSI.pm': No such file or directory at (eval 16) line 6.
==============
Автор: Cheery
Дата сообщения: 13.03.2003 11:36
Ну дык ты читай:
Requires:
Date::Parse : Parse date strings into time values [in the TimeDate-1.14 distribution]
ExtUtils::MakeMaker : create an extension Makefile [in the ExtUtils-MakeMaker-6.05 distribution]
File::Spec : portably perform operations on file names [in the File-Spec-0.82 distribution]
HTML::SimpleParse : a bare-bones HTML parser [in the HTML-SimpleParse-0.11 distribution]
LWP::Simple : simple procedural interface to LWP [in the libwww-perl-5.69 distribution]
URI : Uniform Resource Identifiers (absolute and relative) [in the URI-1.23 distribution]

Это все тоже должно уже стоять.
Автор: AGurin
Дата сообщения: 13.03.2003 11:39
я так и думал...
тока вот как их то поставить....
ух лана буду пробовать.... если что - еще обращусь
Автор: Cheery
Дата сообщения: 13.03.2003 11:43
AGurin
также и ставить )
и лучше не
Цитата:
perl /путь_к_файлу/Makefile.PL

а прямо в той дире и запускать, куда распаковал
Автор: AGurin
Дата сообщения: 13.03.2003 11:46
а *.pm куда ложить?
или все так должно работать... распаковал файлы и там все и запускать?

Добавлено
запускаю, он ругается....
млин могет есть где фак что бы почитать, а то развел я тут флейм...

TimeDate-1.14 > ./Makefile.PL
./Makefile.PL: =: command not found
./Makefile.PL: =: command not found
./Makefile.PL: BEGIN: command not found
./Makefile.PL: use: command not found
./Makefile.PL: line 15: syntax error near unexpected token `WriteMakefile('
./Makefile.PL: line 15: `WriteMakefile('
Автор: Cheery
Дата сообщения: 13.03.2003 11:50
Да, makefile.pl проверяет наличие необходимых компонент и создает основной файл makefile который потом запускаешь стандартным методом make и все.

Добавлено
запускать из той диры, в которую распаковал просто perl Makefile.PL
Автор: AGurin
Дата сообщения: 13.03.2003 12:34

Цитата:
Cheery

Огромное спасибо.
Ставятся модули!!!! Я Счастлив!!!!
Автор: Cheery
Дата сообщения: 13.03.2003 12:35

Цитата:
Я Счастлив!!!!

Как мало человеку нужно для счастья
Автор: batva
Дата сообщения: 13.03.2003 12:52
AGurin

Цитата:
система - линух, сидю в нем через ssh


Есть такой модуль CPAN
Через него удобно инсталлировать новые модули, ничего делать не нужно, он сам находит их на cpan.org, скачивает, тестирует, устанавливает, в самом начале кофе наливает, чтобы не скучал

В консоли введи
# perl -MCPAN -e shell

Первый раз он захочет конфигуриться, отвечай на все вопросы простым "enter" (ответ по дефолту)

Помоему (уже не помню), там вначале даже вопрос будет, типа автоматом все сконфигурить или руками, выбери автоматом.

Все.

Теперь запускай его
# perl -MCPAN -e shell

Первым делом обнови им самого себя.

cpan> install Bundle::CPAN
cpan> reload cpan

Теперь введи
cpan> help
и увидишь все доступные команды.

Например ищу модуль я так


Код:
cpan> i /CGI-SSI/
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Database was generated on Sun, 09 Mar 2003 20:41:21 GMT
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz
Going to read /root/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok
Fetching with LWP:
ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz
Going to read /root/.cpan/sources/modules/02packages.details.txt.gz
Database was generated on Tue, 11 Mar 2003 11:42:28 GMT
Fetching with LWP:
ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz
Going to read /root/.cpan/sources/modules/03modlist.data.gz
Going to write /root/.cpan/Metadata
Distribution J/JA/JAMES/CGI-SSI-0.53.tar.gz
Distribution S/SH/SHERZODR/CGI-SSI-Remote-0.03.tar.gz
Distribution V/VA/VADIM/CGI-SSI_Parser-0.01.tar.gz
3 items found

cpan> i /CGI::SSI/
Module CGI::SSI (J/JA/JAMES/CGI-SSI-0.53.tar.gz)
Module CGI::SSI::Remote (S/SH/SHERZODR/CGI-SSI-Remote-0.03.tar.gz)
Module CGI::SSI_Parser (V/VA/VADIM/CGI-SSI_Parser-0.01.tar.gz)
3 items found
Автор: Cheery
Дата сообщения: 13.03.2003 12:54
batva
Забыл про него ) Вроде стоит все, что нужно, вот и не лезу
Автор: AGurin
Дата сообщения: 13.03.2003 13:41
тока он вот мне еще и перл сам обновить решил.... не поломает чего а?

Добавлено
а сколько он модулей решил сам обновить.... офигеть....
он посреди процесса кофе еще не наливает?
спасиб вам большое. не дали пропасть в бездне информации
Автор: OLEX
Дата сообщения: 14.05.2003 13:49
Народ! Понадобилось обновить модули, запустил
Цитата:
perl -MCPAN -e shell

Он у меня поспрашивал всякую фигню, а кроме этого спросил, где я нахожусь, когда указал, что на Украине, предложил для загрузки три украинских сервака. Ну я и выбери только один
А он с ним не хочет связываться, а что ни делаю, коннектится только к нему....
Что делать? Как задать другой сервер для загрузки?
Автор: zetnext
Дата сообщения: 14.05.2003 20:50
OLEX
удали файл /.cpan/CPAN/MyConfig.pm в своей Home директории на сервере и попробуй все сначала. А можно просто отредактировать его введя какой нибудь другой сервер в нужном поле.
Автор: Cheery
Дата сообщения: 14.05.2003 21:22
OLEX
o conf init
Автор: OLEX
Дата сообщения: 15.05.2003 00:14
Cheery

Цитата:
o conf init

а это что?
Это в шелле писать надо?
Автор: Cheery
Дата сообщения: 15.05.2003 00:17
OLEX

Цитата:
а это что?
Это в шелле писать надо?

да
Автор: OLEX
Дата сообщения: 15.05.2003 00:24
и еще вопросик, модули обновлятся на всем сервере, или будут работать только в моей дире?
Автор: Cheery
Дата сообщения: 15.05.2003 00:26
OLEX

Цитата:
и еще вопросик, модули обновлятся на всем сервере, или будут работать только в моей дире?

Модули пишутся в диру с перлом.. Так что если этот перл для всех, то и модули для всех.
Автор: OLEX
Дата сообщения: 15.05.2003 00:59

Цитата:
Модули пишутся в диру с перлом

а это не опасно для прова?
Автор: Cheery
Дата сообщения: 15.05.2003 01:04
OLEX

Цитата:
а это не опасно для прова?

А ты думаешь на хосте тебе дадут установить модули ? Я сомневаюсь.
Автор: OLEX
Дата сообщения: 15.05.2003 03:56
Cheery
"на хосте" это как?
Есть пров, у меня есть у него аккаунт с дом.дирой и шелл-доступом... Я запустил обновление модулей, как Батва написал, и все пошло работать.... Вот только сервак надо было лучше мыриканский указывать больше толку бы было


Цитата:
думаешь на хосте тебе дадут установить модули
как это тогда называется?
Автор: Cheery
Дата сообщения: 15.05.2003 03:58
OLEX
Тады не знаю ) У меня свои серваки - там таких проблем нет
Автор: lynx
Дата сообщения: 06.08.2003 16:49
Система:
FreeBSD 4.7 STABLE

Perl:

$ perl -version
This is perl, version 5.005_03 built for i386-freebsd


Вчера обновляла:

install Bundle::CPAN

Он по этой команде обновлять стал аж до версии 5.8, скачал ее, скачал кучу модулей, стал ставить, сконфигурил, пошел компилять.
А до этого попросил себе временные катало, попросился в /root/.cpan
сказал, что больше 10 метров не возьмет, ну я его туда пустила, а винтик у меня маленький, короче в ходе компилляции переполнился раздел /
:

$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 126M 118M -10M 109% /
/dev/ad0s1f 252M 4.0K 232M 0% /tmp
/dev/ad0s1g 921M 639M 208M 75% /usr
/dev/ad0s1e 252M 124M 108M 53% /var
procfs 4.0K 4.0K 0B 100% /proc

На проценты не обращайте внимания, это Фря так допускает такое переполнение, не знаю, как это физически происходит, но уже встречалась с таким.

Короче, когда переполнение / произошло больше чем на 10% выше 100%, система стала говорить, что писать ей больше некуда, закричала, заплакала, я прервала это безобразие по Cntrl+C, в логах системы вот что осталось:


Aug 6 06:58:46 x-treem /kernel: pid 81851 (miniperl), uid 0 on /: file system full
Aug 6 06:58:51 x-treem last message repeated 31 times
Aug 6 06:59:03 x-treem /kernel: pid 81852 (miniperl), uid 0 on /: file system full
Aug 6 06:59:08 x-treem last message repeated 38 times
Aug 6 06:59:21 x-treem /kernel: pid 81855 (lynx), uid 0 on /: file system full
Aug 6 06:59:28 x-treem /kernel: pid 81855 (lynx), uid 0 on /: file system full
Aug 6 06:59:32 x-treem /kernel: pid 81857 (wget), uid 0 on /: file system full
Aug 6 07:12:00 x-treem /kernel: pid 72216 (csh), uid 0 on /: file system full


После этого, я долго не знала, как мне освободить место в /
Перенесла старое ядро и каталог со старыми модулями в другой раздел, потом еще кое-что из /dev - принтеры там всякие, то, что не используется - но это все копейки, даже ребутнулась, но / оставался забит (уже всего на 102 % лол).


Потом я все-таки смогла добраться до этого темпового каталога в /root/.cpan
и снесла там кое-что, что позволило освободить место.

После этого заново начала:

$ perl -MCPAN -e shell
install Bundle::CPAN

ессно, указала ему другое место для темпового каталога (/var/cpan_tmp)

и стала получать ошибку на этом вот этапе (и по install Net::Cmd тоже):


Код:
cpan> install Bundle::CPAN
File::Spec is up to date.
Digest::MD5 is up to date.
Compress::Zlib is up to date.
Archive::Tar is up to date.
Data::Dumper is up to date.
Net::Telnet is up to date.
Running install for module Net::Cmd
Running make for G/GB/GBARR/libnet-1.16.tar.gz
Is already unwrapped into directory /var/cpan_tmp/build/libnet-1.16

CPAN.pm: Going to build G/GB/GBARR/libnet-1.16.tar.gz

Checking for Socket...ok
Checking for IO::Socket...ok
Checking if your kit is complete...
Looks good
Writing Makefile for Net
mkdir blib
mkdir blib/lib
cp Net/NNTP.pm blib/lib/Net/NNTP.pm
cp Net/FTP/dataconn.pm blib/lib/Net/FTP/dataconn.pm
cp Net/FTP/I.pm blib/lib/Net/FTP/I.pm
cp Net/POP3.pm blib/lib/Net/POP3.pm
cp Net/SMTP.pm blib/lib/Net/SMTP.pm
cp Net/FTP/L.pm blib/lib/Net/FTP/L.pm
cp Net/FTP.pm blib/lib/Net/FTP.pm
cp Net/Time.pm blib/lib/Net/Time.pm
cp Net/Cmd.pm blib/lib/Net/Cmd.pm
cp Net/Config.pm blib/lib/Net/Config.pm
cp Net/Domain.pm blib/lib/Net/Domain.pm
cp Net/FTP/A.pm blib/lib/Net/FTP/A.pm
cp libnet.cfg blib/lib/Net/libnet.cfg
cp Net/Netrc.pm blib/lib/Net/Netrc.pm
cp Net/libnetFAQ.pod blib/lib/Net/libnetFAQ.pod
cp Net/FTP/E.pm blib/lib/Net/FTP/E.pm
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Net
mkdir blib/lib/auto/Net
mkdir blib/man3
Manifying blib/man3/Net::Time.3
Manifying blib/man3/Net::NNTP.3
Manifying blib/man3/Net::Domain.3
Manifying blib/man3/Net::POP3.3
Manifying blib/man3/Net::FTP.3
Manifying blib/man3/Net::Cmd.3
Manifying blib/man3/Net::SMTP.3
Manifying blib/man3/Net::libnetFAQ.3
Manifying blib/man3/Net::Netrc.3
/usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/libdata/perl/5.00503/mach -I/usr/libdata/perl/5.00503 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/config......ok
t/ftp.........User anonymous unknown.

t/ftp.........dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 2-7
Failed 6/7 tests, 14.29% okay
t/hostname....ok
t/netrc.......ok
2/20 skipped: testing as root
t/nntp........skipped
all skipped: no reason given
t/require.....ok
t/smtp........skipped
all skipped: no reason given
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/ftp.t 255 65280 7 12 171.43% 2-7
2 tests and 2 subtests skipped.
Failed 1/7 test scripts, 85.71% okay. 6/48 subtests failed, 87.50% okay.
*** Error code 35

Stop in /var/cpan_tmp/build/libnet-1.16.
/usr/bin/make test -- NOT OK
Running make install
make test had returned bad status, won't install without force
Bundle summary: The following items in bundle Bundle::libnet had
installation problems:
Net::Cmd

Term::ReadKey is up to date.
Term::ReadLine::Perl is up to date.
CPAN is up to date.
Bundle summary: The following items in bundle Bundle::CPAN had installation
problems:
Bundle::libnet and the following items had problems during recursive
bundle calls: Net::Cmd


Автор: OLEX
Дата сообщения: 03.10.2003 02:13
Гммм...
Ни фига у меня не получается....
Надо поставить Image::Magick
Все вроде сделал правильно через perl -MCPAN -e shell, накачалось куча файлов в папку .cpan на диск С
А что дальше? В ридми написано:

Цитата:
Get the PerlMagick distribution and type the following:

gunzip PerlMagick-5.52.tar.gz
tar xvf PerlMagick-5.52.tar
cd Magick

Next, edit Makefile.PL and change LIBS and INC to include the
appropriate path information to the required libMagick library. You
will also need library search paths (-L) to JPEG, PNG, TIFF,
etc. libraries if they were included with your installed
version of ImageMagick. If an extension library is built as a
shared library but not installed in the system's default
library search path, you may need to add run-path information
(often -R or -rpath) corresponding to the equivalent library
search path option so that the library can be located at
run-time.

To create and install the dymamically-loaded version of
PerlMagick (the preferred way), execute

perl Makefile.PL
make
make install

Я ниче не понял, что надо менять в Makefile.PL
А запускаю его, получаю кучу ошибок "no library bla bla bla"
А что дальше? Как запустить make??? И make install???



ЗЫ. вин98

Страницы: 1234

Предыдущая тема: Perl, PHP: отправка формы на e-mail


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.