Perl: функция our

Функция our объединяет аспекты use vars и my. Т.е. она создает глобальную переменную (если она еще не была создана), а также алиас к этой переменной, доступный в лексической области видимости объявления our.

Глобальная переменная после создания становится видимой отовсюду с использованием полного имени, например $Foo::Bar. А вот алиас видим только в той лексической области видимости, где он создается – как и при использовании my.

package A;
use strict;
{
  our $var;   # $var теперь ссылается на $A::var
  $var = 42;
}

say $var;     # ошибка: "global symbol $var requires explicit package name"
say $A::var;  # $A::var доступна всегда

{
  our $var;   # Та же самая переменная $var, в текущей области видимости
  $var *= 2;
  say $var;   # 84
}
This entry was posted in Perl and tagged , . Bookmark the permalink.

Добавить комментарий

Ваш e-mail не будет опубликован.


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>