From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4D39991F.4050401@altlinux.org> Date: Fri, 21 Jan 2011 17:33:03 +0300 From: Paul Wolneykien Organization: ALT Linux User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.9pre) Gecko/20100907 Thunderbird/3.1.3pre MIME-Version: 1.0 To: devel@lists.altlinux.org References: <4D397F9B.7090203@altlinux.org> <201101211655.31964.serpiph@nikiet.ru> In-Reply-To: <201101211655.31964.serpiph@nikiet.ru> X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [devel] =?utf-8?b?UTogQXB0UGtnLnBtINC4INC00LLQsCDRgNC10L/QvtC3?= =?utf-8?b?0LjRgtCw0YDQuNGP?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jan 2011 14:33:04 -0000 Archived-At: List-Archive: List-Post: 21.01.2011 16:55, Sergei Epiphanov пишет: > В сообщении от 21 января 2011 15:44:11 автор Paul Wolneykien написал: >> Вопрос к специалистам по Perl: можно ли каким-нибудь элегантным >> образом всё-таки создать в данном случае два независимых набора >> объектов? Например, каким-то образом дважды загрузить один и тот же >> модуль, но проинициализировать каждый экземпляр по разному? > > Через local попробуйте. Тестовый пример в аттаче. Большое спасибо, Сергей. Я сейчас пытаюсь сделать и так и этак, посмотрим, что получится. Однако пока я не уверен в том, что переназначение глобальной переменной это хорошая идея: 1. я точно не знаю, как правильно создать новый экземпляр конфигурации и как правильно его проинициализировать; и по идее не должен этого знать, т.к. это внутренние «потроха» модуля; в документации написано, что если просто загрузить модуль через use, то $_config будет проинициализирована автоматически; хотелось бы использовать этот механизм автонастройки для каждого экземпляра модуля; 2. что будет в многопоточной программе? я же не знаю, кто ещё использует этот самый $Module::_config ? паранойя, кончено, т.к. у меня нет параллельных сегментов программы, но хотелось бы иметь решение, которое давало бы надёжную изоляцию. Павел.