Acme-Lexical-Thief
view release on metacpan or search on metacpan
changed that file, and provided that you do at least ONE of the following:
a) place your modifications in the Public Domain or otherwise make them
Freely Available, such as by posting said modifications to Usenet or an
equivalent medium, or placing the modifications on a major archive site
such as ftp.uu.net, or by allowing the Copyright Holder to include your
modifications in the Standard Version of the Package.
b) use the modified Package only within your corporation or organization.
c) rename any non-standard executables so the names do not conflict with
standard executables, which must also be provided, and provide a separate
manual page for each non-standard executable that clearly documents how it
differs from the Standard Version.
d) make other distribution arrangements with the Copyright Holder.
4. You may distribute the programs of this Package in object code or executable
form, provided that you do at least ONE of the following:
a) distribute a Standard Version of the executables and library files,
{
# ... but $foo won't exist in this block!
...
}
If you attempt to steal a variable which does not exist, then a run-time
exception will be thrown.
WHY YOU SHOULD NOT USE THIS MODULE
When people declare lexical (`my`) variables within a sub, they (quite
reasonably) expect these to stay local to the sub. If they rename those
variables, change them (say replacing a hashref with a hash), drop them or
whatever, then they don't expect code outside the sub to pay much
attention.
Peeking at your caller's lexicals breaks those expectations.
Peeking at your caller's lexicals leaks an abstraction.
Peeking at your caller's lexicals can cause spooky action at a distance.
lib/Acme/Lexical/Thief.pm view on Meta::CPAN
# ... but $foo won't exist in this block!
...
}
If you attempt to steal a variable which does not exist, then a run-time
exception will be thrown.
=head1 WHY YOU SHOULD NOT USE THIS MODULE
When people declare lexical (C<my>) variables within a sub, they (quite
reasonably) expect these to stay local to the sub. If they rename those
variables, change them (say replacing a hashref with a hash), drop them
or whatever, then they don't expect code outside the sub to pay much
attention.
Peeking at your caller's lexicals breaks those expectations.
Peeking at your caller's lexicals leaks an abstraction.
Peeking at your caller's lexicals can cause spooky action at a distance.
( run in 0.381 second using v1.01-cache-2.11-cpan-e9daa2b36ef )