- Перл модули, alexeylomov, 19:26 , 10-Фев-05 (1)
Вопрос снят, прошу прощения за тупость :) - Перл модули, alexeylomov, 17:12 , 11-Фев-05 (2)
Новый вопрос: а если используемый модуль тоже включает в себя другой модуль из /usr/local/extern/lib/perl , то как его вписать в @INC? Когда я пишу в заголовке #!/usr/bin/perl -w -I /usr/local/extern/lib/perl, то модуль perlnewdb.pm обнаруживается, но он включает perlolddb.pm, и при попытке запуска перл пишет Can't locate loadable object for module perlolddb in @INC, хотя теперь /usr/local/extern/lib/perl в списке есть?
- Перл модули, rWizard, 17:39 , 11-Фев-05 (3)
use lib qw(/usr/local/extern/lib/perl);
- Перл модули, alexeylomov, 19:07 , 11-Фев-05 (4)
>use lib qw(/usr/local/extern/lib/perl); Ничего не изменилось :(
- Перл модули, alexeylomov, 19:18 , 11-Фев-05 (5)
Заметьте, он пишет не Can't locate perlolddb.pm in @INC, a Can't locate loadable object for module perlolddb in @INC
- Перл модули, rWizard, 19:59 , 11-Фев-05 (6)
>Заметьте, он пишет не Can't locate perlolddb.pm in @INC, a Can't locate >loadable object for module perlolddb in @INC use lib ... нужно писать в pakage, который будет подгружать модули из этой директории.
- Перл модули, alexeylomov, 17:46 , 15-Фев-05 (7)
>use lib ... нужно писать в pakage, который будет подгружать модули из >этой директории. Так я там и пишу (в perlnewdb.pm) сразу после надписи use perlolddb;
- Перл модули, alexeylomov, 13:18 , 18-Фев-05 (8)
Снова здравствуйте. Проблему я так и не решил. Опишу ещё раз всё подробнее: Есть скрипт, который использует библиотеку perlnewdb.pm Но она лежит в нестандартном месте (/usr/local/extern/lib/perl), поэтому use perlnewdb; не работает. Тогда я в первой строке пишу #!/usr/bin/perl -w -I /usr/local/extern/lib/perl и эту библиотеку скрипт находит. Но эта библиотека использует perlolddb.pm, которая лежит в той же папке. И вот тут уже начинаются проблемы, так как при запуске он пишет Can't locate loadable object for module perlolddb in @INC... Пробовал добавлять строку use lib qw(/usr/local/extern/lib/perl); - не помогает. Подскажите, пожалуйста, что нужно сделать?
- Перл модули, rWizard, 14:37 , 18-Фев-05 (9)
>Пробовал добавлять строку use lib qw(/usr/local/extern/lib/perl); - не помогает. добавляли в библиотек или в основной скрипт?
- Перл модули, alexeylomov, 14:48 , 18-Фев-05 (10)
>>Пробовал добавлять строку use lib qw(/usr/local/extern/lib/perl); - не помогает. >добавляли в библиотек или в основной скрипт? Добавлял в библиотеку perlnewdb.pm сразу после строки use perlolddb; - не помогало. В основной скрипт тоже пробовал добавлять - ничего. И даже в perlolddb.pm добавлял.
- Перл модули, ACCA, 03:14 , 19-Фев-05 (11)
Я это так делаю:1. Модуль Mymodule.pm содержит класс PROJECT::Mymodule и лежит в каком-нибудь /usr/local/extern/lib/perl/PROJECT. 2. В стандартном месте (какой-нибудь /etc/httpd/perl) делаю symlink PROJECT -> /usr/local/extern/lib/perl/PROJECT. - Перл модули, rWizard, 14:02 , 19-Фев-05 (12)
>Добавлял в библиотеку perlnewdb.pm сразу после строки use perlolddb; - не помогало. нужно ДО use perlolddb; тк use lib qw(/usr/local/extern/lib/perl); - добавляет /usr/local/extern/lib/perl к путям для поиска библиотек
- Перл модули, alexeylomov, 16:39 , 21-Фев-05 (13)
>нужно ДО use perlolddb; >тк use lib qw(/usr/local/extern/lib/perl); - добавляет /usr/local/extern/lib/perl к путям для поиска >библиотек Написал до use perlolddb; - не помогло. А путь этот там уже итак был. Дело, видимо, в чём-то другом...
- Перл модули, Vladimir D Belousov, 10:48 , 25-Фев-05 (14)
>Снова здравствуйте. Проблему я так и не решил. >Опишу ещё раз всё подробнее: >Есть скрипт, который использует библиотеку perlnewdb.pm >Но она лежит в нестандартном месте (/usr/local/extern/lib/perl), поэтому use perlnewdb; не работает. > >Тогда я в первой строке пишу #!/usr/bin/perl -w -I /usr/local/extern/lib/perl и эту >библиотеку скрипт находит. >Но эта библиотека использует perlolddb.pm, которая лежит в той же папке. >И вот тут уже начинаются проблемы, так как при запуске он пишет > >Can't locate loadable object for module perlolddb in @INC... >Пробовал добавлять строку use lib qw(/usr/local/extern/lib/perl); - не помогает. >Подскажите, пожалуйста, что нужно сделать? покажи ls -l того каталога в части, касающейся обоих модулей и head perlnewdb.pm head perlolddb.pm
- Перл модули, alexeylomov, 13:01 , 25-Фев-05 (15)
>покажи >ls -l того каталога в части, касающейся обоих модулей >и >head perlnewdb.pm >head perlolddb.pm Пожалуйста: ls -l /usr/local/extern/lib/perl -rw-r--r-- 1 root root 3868 Dec 22 2004 confperl.pm -rw-r--r-- 1 root root 2979 Dec 22 2004 network.pm -rw-r--r-- 1 root root 1228 Dec 28 2004 perlolddb.pm -rw-r--r-- 1 root root 3829 Jan 20 13:58 perlnewdb.pm head perlolddb.pm # This file was automatically generated by SWIG package perlolddb; require Exporter; require DynaLoader; @ISA = qw(Exporter DynaLoader); package perlolddb; bootstrap perlolddb; var_perldb_init(); package perlolddb; @EXPORT = qw( ); head perlnewdb.pm % koi8-r #% project : NEWPROJECT #% module : database/perl #% description : #% author : alexeylomov #% $Id: perlnewdb.pm,v 1.20 2005/01/12 16:02:18 alexey Exp $ package perlnewdb; use strict;
|