[Moscow.pm] глобальная переменная в Coro
Eugene Toropov
eugene.toropov на gmail.com
Пт Янв 17 01:02:50 PST 2014
Всем привет,
Есть глобальная переменная (объект), экспортируемая из пакета (пусть будет Package) стандартным способом - use vars qw($var); @EXPORT = qw($var) - и используемая сплошь и рядом в большой системе. Надо сделать так, чтобы при запуске системы из под Coro сервера она стала локальной для каждого треда без переписывания исходников. Пока в голову пришло что-то вроде
sub import {
no strict 'refs';
my $caller = caller;
*{ $caller.'::'.$var } = $ENV{CORO} ? $var : $Coro::var;
}
в том самом Package. Тогда use Package, который на самом деле BEGIN { require Module; Module->import( LIST ); } должен отработать как надо. Пока просто идея, не проверял. Есть у кого мысли?
Евгений
Подробная информация о списке рассылки Moscow-pm