Всем привет,

Есть глобальная переменная (объект), экспортируемая из пакета (пусть будет 
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 mailing list
[email protected] | http://moscow.pm.org

Ответить