Проблема с путем в перл-модуле

  • Автор темы IcyWizard
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

IcyWizard

#1
Надо вставить в форму регистрации CAPTCHA.
Модуль Authen.PluggableCaptcha ставила ppm-мом.

Проблема: при попытке вызова пишет
"Can't locate Imager.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/site/lib/Authen/PluggableCaptcha/Render/Image/Imager.pm line 17."

В строке 17 в модуле Imager.pm стоит
use Imager;

Рекурсивный вызов? Зачем?
Причем без пути - например, вызов соседних модулей выглядит так
use Authen::pluggableCaptcha::Render::Image::Imager::layers::bg;

Из-за отсутствия пути он его не находит (т.к. в @INC совсем другие папки).
Руки чешутся просто прописать путь, но ведь это уже готовый стандартный модуль, почему же у него непонятно что в обращении к своим же внутренним модулям? И зачем он сам к себе обращается? :(
 
V

Vovochka

#2
Прежде чем что то переписывать в чужом, подумайте, почему выложили нерабочий код? ;)
А если подумать то ваш модуль скорее всего лишь надстройка над Imager, которого вам и не хватает.
 
I

IcyWizard

#3
Модуль брала со CPANа, по идее должен быть рабочим...

А если подумать то ваш модуль скорее всего лишь надстройка над Imager, которого вам и не хватает.
Имеется ввиду что у меня должно быть 2 разных файла Imager.pm? Один из модуля, а второй откуда?
 

arto

Member
21.06.2006
10
0
#4
# perldoc -m Imager | head -20 | tail -5
DSO_call

load_plugin
unload_plugin

#

у вас мамой-то неправильный Imager.pm
 
V

Vovochka

#5
<!--QuoteBegin-IcyWizard+11:08:2007, 15:44 -->
<span class="vbquote">(IcyWizard @ 11:08:2007, 15:44 )</span><!--QuoteEBegin-->Имеется ввиду что у меня должно быть 2 разных файла Imager.pm? Один из модуля, а второй откуда?
[snapback]75076" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да, два разных модуля.
Если в ppm прописаны нужные репозитории, то береться все так: ppm install Imager
Если же нет, то модуль на который я давал ссылку в прошлом ответе - то что вам надо.

Authen::pluggableCaptcha::Render::Image::Imager - лишь использует Imager для своих целей. Это два разных модуля.

Для: arto
:lol:
 
I

IcyWizard

#7
Еще одна проблема того же типа.

Надо указать путь к файлу шрифта. Я скопировала файл шрифта в c:/perl/site/lib и в программе указываю путь как
my $tr1 = "@inc[0]".'/имя файла шрифта';


Путь вроде бы понимает правильно (при команаде print ($tr1); выводит c:/perl/site/lib/имя файла шрифта) но при обращении font_filename=> $tr1, пишет "не могу загрузить файл шрифта".

Что я неправильно делаю?
 
V

Vovochka

#8
Попробуйте строго задать путь к файлу. Может дело не в том, что не удаеться найти файл.
 
I

IcyWizard

#9
Я задавала и просто строчкой. Все равно пишет что не может подгрузить.

Файл шрифта вообще можно просто копировать из папки шрифтов виндоуса, как я это сделала? Или его как-то инсталить надо?
 
V

Vovochka

#12
Честно попробовал заставить себя заинтересоваться этим вопросом. Пока не получилось. :unsure:
 
Статус
Закрыто для дальнейших ответов.