|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Brindeew 2:5020/400 28 Feb 2003 16:05:38 To : All Subject : Странности под mod_perl -------------------------------------------------------------------------------- Hi! Hеожиданно стали наблюдаться странности в модулях, которые используются в handler'ах из-под mod_perl. Сбрасывается глобальная переменная модуля. Вот код: Модуль конфигурации (один бАААльшой хэш с деревом внутри): ===== package BK::Config; use vars qw(%c); %c = ( 'LIBS' => { 'BK::Visitor' => { var1 => 'var1_value', [ a lot of stuff skipped ] }, [ a lot of stuff skipped ] }, [ a lot of stuff skipped ] ); 1; ===== Модуль, в котором наблюдается сброс $pc (package's configuration) ===== package BK::Visitor; use BK::Config; use vars qw( %c $pc ); *c = \%BK_man::Config::c; $pc = $c{'LIBS'}{'BK::Visitor'}; ===== Далее в модуле BK::Visitor $pc используется только в режиме чтения примерно так: my $a = $pc->{'var1'}; Суть проблемы в том, что в некоторых дитенках Апача $pc после некоторого момента времени сбрасывается. Hеужели придется в каждый метод в начало вставлять $pc = $c{'LIBS'}{'BK::Visitor'}; ? Проблема замечена уже минимум в двух разных модулях. :-( -- WBR, Andrey Brindeew. "No one person can understand Perl culture completely" (C) Larry Wall. --- ifmail v.2.15dev5 * Origin: MTU-Intel ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/35448fa6d67c.html, оценка из 5, голосов 10
|