|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : vitus@ice.ru 2:5020/400 08 Jun 2000 16:34:45 To : Sly Golovanov Subject : Re: модуль -------------------------------------------------------------------------------- Sly Golovanov <Sly.Golovanov@p13.f794.n5020.z2.fidonet.org> wrote: SG>За что я не люблю утро, All,- оно всегда наступает, когда я сплю... SG>Есть один модуль с общими для нескольких скриптов функциями. Он подходит SG>универсально ко всем скриптам, за исключением одной переменной (например, SG>имени sql-базы). Как правильно оформить вызов этого модуля, чтобы внутри его SG>переменная принимала разные значения в зависимости от того, из какого скрипта SG>его вызывают? Если в одном и том же процессе переменная принимает одно и то же значение (это заведомо подходит к cgi и скритам вызываемым из командной строки и с некоторыми оговорками, к mod_perl) то переменая она на то и переменная, чтобы в разных случаях иметь разное значение. Пишешь функцию base::Init($dbname) которую дергаешь до вызова любой другой функции из модуля и которая позволяет задать значение этой самой глобальной (уровня модуля) переменной и ни о чем больше не беспокоишься. sub Init { my $db = shift; $base::dbname = $db; } Если требуется чтобы переменная имела разные значения в разных тредах одного и того же процесса (multithreaded Apache, например) то делай модуль объектом. -- -------------------------------------------------- Victor Wagner vitus@ice.ru Programmer Office:7-(095)-785-09-72 Communiware.Net Home: 7-(095)-135-46-61 http://www.communiware.net http://www.ice.ru/~vitus --- ifmail v.2.15dev5 * Origin: AG Telecom news2 server (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/13404f0f8e838.html, оценка из 5, голосов 10
|