Spec-Zone.ru › Perl 5.32

vars

СОДЕРЖАНИЕ

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

ИМЯ

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

СИНОПСИС

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

ОПИСАНИЕ

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

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

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

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

См. "Pragmatic Modules" в perlmodlib.

© 1993–2020 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.32.0/vars

Spec-Zone.ru

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