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
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.


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


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


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


Type URL
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] noarch autoimports
    rpm [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



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