Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с путем в перл-модуле
Форум программистов > Интернет и сети > Web-программирование > Perl программирование
IcyWizard
Надо вставить в форму регистрации 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 совсем другие папки).
Руки чешутся просто прописать путь, но ведь это уже готовый стандартный модуль, почему же у него непонятно что в обращении к своим же внутренним модулям? И зачем он сам к себе обращается? unsure.gif
Vovochka
Прежде чем что то переписывать в чужом, подумайте, почему выложили нерабочий код? blink.gif
А если подумать то ваш модуль скорее всего лишь надстройка над Imager, которого вам и не хватает.
IcyWizard
Модуль брала со CPANа, по идее должен быть рабочим...

Цитата
А если подумать то ваш модуль скорее всего лишь надстройка над Imager, которого вам и не хватает.

Имеется ввиду что у меня должно быть 2 разных файла Imager.pm? Один из модуля, а второй откуда?
arto
# perldoc -m Imager | head -20 | tail -5
DSO_call

load_plugin
unload_plugin

#

у вас мамой-то неправильный Imager.pm
Vovochka
Цитата(IcyWizard @ 11:08:2007, 15:44 )
Имеется ввиду что у меня должно быть 2 разных файла Imager.pm? Один из модуля, а второй откуда?
*


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

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

Для: arto
blink.gif
IcyWizard
2 Vovochka: спасибо, получилось smile.gif
IcyWizard
Еще одна проблема того же типа.

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


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

Что я неправильно делаю?
Vovochka
Попробуйте строго задать путь к файлу. Может дело не в том, что не удаеться найти файл.
IcyWizard
Я задавала и просто строчкой. Все равно пишет что не может подгрузить.

Файл шрифта вообще можно просто копировать из папки шрифтов виндоуса, как я это сделала? Или его как-то инсталить надо?
Vovochka
C каким модулем вы работаете?
IcyWizard
c AuthenCaptcha
Vovochka
Честно попробовал заставить себя заинтересоваться этим вопросом. Пока не получилось. sad.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.