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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Nelly Sadretdinova                   2:5020/400     27 Feb 2002  19:59:40
 To : Andrey Sapozhnikov
 Subject : Re: mod_perl&nesting subroutines
 -------------------------------------------------------------------------------- 
 
 > Тут вот в чем дело, функция test на самом деле определена внутри большой,
 > спрятанной от Вас функции которая содержит весь Ваш скрипт. При
 > компиляции функции происходит подстановка адреса переменной %V
 > в скомпилированый код. Дело в том, что переменные определяемые
 > через my (lexical scope) не хранятся в таблицах имен в момент исполнения.
 > При повторном вызове Вашего скрипта (т.е. скрытой функции), в нем
 > происходит создание новой копии переменной %V, вполне себе обнуленой,
 > но функция test продолжает помнить и использовать адрес старой. В итоге,
 > в памяти существует две копии %V - самая первая, запомненная в test и
 
 более
 
 > никому не доступная (если нет еще таких же функций), и самая последняя.
 
 Т.е. получается, что такое "размножение" переменных приводит к потреблению
 большого количества памяти?
 
 Я не очень понимаю механизм работы mod_perl с переменными
 С FastCGI было понятно: все переменные, которые не должны меняться от одного
 вызова скрипта к другому, объявляются до FastCGI->accept цикла, там же им
 присваиваются значения, которые сидят себе неизменными в памяти.
 
 А если у меня при использовании mod_perl есть некие глобальные переменные,
 которые не должны меняться от запроса к запросу? (грубо говоря, некие
 константы)
 Если я объявляю переменную в vars, а затем присваиваю ей некое значение,
 будет ли оно хранится в таблице имен или при новом вызове скрипта это
 присвоение выполнится снова?
 --- ifmail v.2.15dev5
  * Origin: OOO BIS (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 mod_perl&nesting subroutines   Nelly Sadretdinova   26 Feb 2002 21:55:17 
 Re: mod_perl&nesting subroutines   Andrey Sapozhnikov   27 Feb 2002 01:22:27 
 Re: mod_perl&nesting subroutines   Sadretdinova Nelly   27 Feb 2002 15:00:38 
 Re: mod_perl&nesting subroutines   Nelly Sadretdinova   27 Feb 2002 19:59:40 
 Re: mod_perl&nesting subroutines   Artem Chuprina   27 Feb 2002 21:28:05 
 Re: mod_perl&nesting subroutines   Artem Chuprina   27 Feb 2002 14:21:33 
Архивное /ru.cgi.perl/77954d62f3d9.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional