Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Странности под mod_perl   Andrey Brindeew   28 Feb 2003 16:05:38 
 Re: Странности под mod_perl   Artem Chuprina   28 Feb 2003 23:07:53 
Архивное /ru.cgi.perl/35448fa6d67c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional