perl-Acme-Lexical-Thief-0.002-alt1.noarch.rpm


Advertisement

Description

perl-Acme-Lexical-Thief - steal lexical variables from your caller

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package filename perl-Acme-Lexical-Thief-0.002-alt1.noarch.rpm
Package name perl-Acme-Lexical-Thief
Package version 0.002
Package release alt1
Package architecture noarch
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 31.44 KB
Installed size 31.44 KB
This package allows you access to your caller's lexical variables, without
them knowing! Full read/write access. This is generally a pretty bad idea,
hence the Acme namespace.
You can steal scalars, arrays and hashes:
steal $car, @treasures, %stash;
Parentheses can surround the list of variables to steal:
steal ($car, @treasures, %stash);
Generally everything should "just work" as you expect it to. Except when it
does not.
Technically speaking, your stolen `$car' is a package-scoped (`our')
variable which is lexically aliased (`local *car') to the caller's
variable of the same name. Because `steal' is parsed at compile-time,
you don't need to (and indeed should not!) pre-declare your stolen
variables.
sub greet_verbally {
my $name;   # don't do this!
steal $name;
say "Hello $name";
}
By default, this module steals from your *immediate* caller. You can
thieve higher up the call stack using:
steal 0 ($car);  # caller's $car
steal 1 @boats;  # caller's caller's @boats
steal 2 %stash;  # caller's caller's caller's @stash
You cannot indicate the level you wish to steal from using a variable; it
must be a literal integer in your source code. (It can be in decimal, octal,
hexadecimal or binary notation.) The integer must immediately follow the
`steal' keyword, and not be followed by a comma.
The `steal' keyword cannot be used in an expression; it must be a
standalone statement.
steal $foo;
if (defined $foo) { ... } # ok
if (steal $foo) { ... }   # not this!
if (do { steal $foo; defined $foo })
{
...
}
If you attempt to steal a variable which does not exist, then a run-time
exception will be thrown.

Alternatives

Package Version Architecture Repository
perl-Acme-Lexical-Thief - - -

Requires

Name Value
/usr/share/perl5 -
perl(Keyword/Simple.pm) -
perl(PadWalker.pm) -
perl(Text/Balanced.pm) -
perl-base >= 1:5.12.0
rpmlib(PayloadIsLzma) -

Provides

Name Value
perl(Acme/Lexical/Thief.pm) = 0.002
perl-Acme-Lexical-Thief = 0.002-alt1

Download

Type URL
Mirror ftp.altlinux.org
Binary Package perl-Acme-Lexical-Thief-0.002-alt1.noarch.rpm
Source Package perl-Acme-Lexical-Thief-0.002-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    
    rpm [Sisyphus] http://ftp.altlinux.org/pub/distributions/ALTLinux/autoimports/Sisyphus noarch autoimports
    rpm [Sisyphus] http://ftp.altlinux.org/pub/distributions/ALTLinux/autoimports/Sisyphus noarch autoimports
    
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-Acme-Lexical-Thief rpm package:
    # sudo apt-get install perl-Acme-Lexical-Thief

Files

Path
/usr/share/doc/perl-Acme-Lexical-Thief-0.002/CONTRIBUTING
/usr/share/doc/perl-Acme-Lexical-Thief-0.002/COPYRIGHT
/usr/share/doc/perl-Acme-Lexical-Thief-0.002/CREDITS
/usr/share/doc/perl-Acme-Lexical-Thief-0.002/Changes
/usr/share/doc/perl-Acme-Lexical-Thief-0.002/LICENSE
/usr/share/doc/perl-Acme-Lexical-Thief-0.002/README
/usr/share/perl5/Acme/
/usr/share/perl5/Acme/Lexical/Thief.pm

See Also

Package Description
perl-Acme-Licence-1.0-alt1.noarch.rpm perl module Acme-Licence
perl-Acme-LifeUniverseEverything-0.02-alt1.noarch.rpm perl module Acme-LifeUniverseEverything
perl-Acme-Lingua-EN-Inflect-Modern-0.006-alt1.noarch.rpm modernize Lingua::EN::Inflect rule's
perl-Acme-Lingua-NIGERIAN-1.0.0-alt1.noarch.rpm perl module Acme-Lingua-NIGERIAN
perl-Acme-Lingua-Strine-Perl-0.54-alt1.noarch.rpm make Perl more like Damian
perl-Acme-Lingua-ZH-Remix-0.99-alt1.noarch.rpm The Chinese sentence generator
perl-Acme-List-CarCdr-0.01-alt1.noarch.rpm car cdr cdaadadrdrr
perl-Acme-Llama-0.42-alt1.noarch.rpm An object-oriented interface to llamas
perl-Acme-Locals-0.0.1-alt1.noarch.rpm Print like Python
perl-Acme-LookOfDisapproval-0.007-alt1.noarch.rpm send warnings with ._
perl-Acme-Loopy-0.004-alt1.noarch.rpm loop keyword
perl-Acme-Lvalue-0.03-alt2.noarch.rpm Generalized lvalue subroutines
perl-Acme-MARVIN-0.01-alt1.noarch.rpm The great new Acme::MARVIN!
perl-Acme-MJD-0.02-alt1.noarch.rpm Mark Jason Dominus does perl
perl-Acme-MJD-FR-0.01-alt1.noarch.rpm perl module Acme-MJD-FR
Advertisement
Advertisement