25 lines
698 B
Plaintext
25 lines
698 B
Plaintext
This plugin lets you put your lexicals on the stash and elsewhere
|
|
very easily.
|
|
|
|
It uses some funky modules to get it's job done: PadWalker,
|
|
Array::RefElem, Devel::Caller, Devel::LexAlias and attributes. In
|
|
some people's opinion this hurts this plugin's reputation ;-).
|
|
|
|
If you use the same name for two variables with the same storage
|
|
binding attribute they will be aliased to each other, so you can
|
|
use this for reading as well as writing values across controller
|
|
subs. This is almost like sharing your lexical scope.
|
|
|
|
sub bar : Local {
|
|
my ( $self, $c ) = @_;
|
|
|
|
my $x : Stashed;
|
|
my %y : Stashed;
|
|
|
|
$x = 100;
|
|
|
|
do_something( $c->stash->{x} ); # 100
|
|
|
|
$c->forward("gorch");
|
|
}
|