|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 29 Aug 2006 14:48:47 To : Dmitry Derenok Subject : Re: require from eval -------------------------------------------------------------------------------- Dmitry Derenok -> All @ Tue, 29 Aug 2006 03:21:02 +0000 (UTC): DD> Вот такая простая конструкция: DD> eval ("require $module;") || die "Error load DD> module! ".$@; DD> Hо если я подключаю с помощью данной конструкции DD> модуль, в котором DD> имя пакета (package bla-bla-bla;) не совпадает с DD> именем файла в DD> котором код данного пакета, то никаких DD> варнингов-эксепшинов не выдается, DD> модуль нормально загружается. DD> Как бы эту ситуацию победить? Проверить после загрузки, появилось ли имя модуля среди ключей %INC. Правда, испортить тот модуль, который раньше носил имя, указанное в package, оно уже успеет. Так что если вышенаписанный die потом ловится, то надо перед require прикапывать старый %INC, и в случае неудачи проверки искать изменения и перегружать файлы вручную. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Творить - не делать! (c)Элхэ Hиеннах --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/256069ccf3d39.html, оценка из 5, голосов 10
|