[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#720206: ITP: liblexical-var-perl -- Perl module for using static variables without namespace pollution

Package: wnpp
Owner: Salvatore Bonaccorso <carnil@debian.org>
Severity: wishlist
X-Debbugs-CC: debian-devel@lists.debian.org,debian-perl@lists.debian.org

* Package name    : liblexical-var-perl
  Version         : 0.008
  Upstream Author : Andrew Main (Zefram) <zefram@fysh.org>
* URL             : https://metacpan.org/release/Lexical-Var
* License         : Artistic or GPL-1+
  Programming Lang: Perl
  Description     : Perl module for using static variables without namespace pollution

Lexical::Var implements lexical scoping of subroutines. Although it can be
used directly, it is mainly intended to be infrastructure for modules that
manage namespaces.

This module influences the meaning of single-part subroutine names that
appear directly in code, such as "&foo" and "foo(123)". Normally, in the
absence of any particular declaration, these would refer to the subroutine of
that name located in the current package. A Lexical::Sub declaration can
change this to refer to any particular subroutine, bypassing the package
system entirely. A subroutine name that includes an explicit package part,
such as "&main::foo", always refers to the subroutine in the specified
package, and is unaffected by this module. A symbolic reference through a
string value, such as "&{'foo'}", also looks in the package system, and so is
unaffected by this module.

The types of name that can be influenced are scalar ("$foo"), array
("@foo"), hash ("%foo"), subroutine ("&foo"), and glob ("*foo").

Reply to: