Spec-Zone.ru › Perl 5.34

vars

СОДЕРЖАНИЕ

  • ИМЯ
  • СИНТАКСИС
  • ОПИСАНИЕ

ИМЯ

vars - Perl-прагма для предварительной объявления имён глобальных переменных

СИНТАКСИС

use vars qw($frob @mung %seen);

ОПИСАНИЕ

ПРИМЕЧАНИЕ: Для использования с переменными в текущем пакете в рамках одного объёма, функциональность, предоставляемая этой прагмой, была заменена объявлениями our, доступными в Perl v5.6.0 или более поздних версиях, и использование этой прагмы не рекомендуется. См. "our" в perlfunc.

Эта прагма предварительно объявит все переменные, имена которых находятся в списке, позволяя вам использовать их в use strict, и отключив любые предупреждения о типовых ошибках для них.

В отличие от прагм, которые влияют на $^H подсказки переменных, объявления use vars и use subs не обладают лексическим охватом блока, в котором они появляются: они влияют на весь пакет, в котором они появляются. Невозможно отменить эти объявления с помощью no vars или no subs.

Пакеты, такие как AutoLoader и SelfLoader, которые откладывают загрузку подпрограмм внутри пакетов, могут создавать проблемы с пакетом лексических переменных, определённых с помощью my(). Хотя прагма vars не может дублировать эффект лексических переменных пакета (полная прозрачность вне пакета), она может служить приемлемой заменой, предварительно объявляя глобальные символы, обеспечивая их доступность для позднее загруженных процедур.

См. "Pragmatic Modules" в perlmodlib.

© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.34.0/vars

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API