|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 31 Jul 2002 19:01:41 To : Yury Shvetsov Subject : Re: Global variable --------------------------------------------------------------------------------
Yury Shvetsov wrote:
> Привет Всем.
>
> Как правильно объявить глобальную переменную?
> Есть два модуля.
> Один главный.
> Во втором лежат процедуры, которые вызываются из главного.
> Хотелось бы использовать в процедурах переменные, определённые
> в главном модуле.
> Если я пишу в главном модуле
> my $var=1;
> то в процедуре $::var не определена.
> Если пишу просто
> $var=1;
> то надо убирать use strict, а не хотелось бы.
>
> Юрий Швецов.
Есть два метода постижения истины - постепенный и
шоковый. Так вот следуя первому из них, можно описать
глобальную переменную так (старый способ описания):
use vars qw($var);
$var = 1;
или так (новый способ описания):
our $var = 1;
и, разумеется, не убирать use strict!
Если же сразу перейти к шоковому... В 90% случаев
глобальные переменные вообще, и тем более в main::
есть признак непродуманной иерархии программы. Это
осознается со временем...
Андрей
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/52840f5a8975.html, оценка из 5, голосов 10
|