./www/p5-Catalyst-Controller-BindLex, Put lexicals on the catalyst stash

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2014Q3, Version: 0.05nb7, Package name: p5-Catalyst-Controller-BindLex-0.05nb7, Maintainer: pkgsrc-users

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");
}


Required to run:
[lang/perl5] [devel/p5-Devel-Caller] [devel/p5-Array-RefElem] [devel/p5-Devel-LexAlias] [devel/p5-PadWalker] [devel/p5-Test-use-ok] [www/p5-Catalyst-Runtime]

Master sites: (Expand)

SHA1: d18567f9edc6a371ca739aa5b74600e1ee63ccb6
RMD160: ab192802424ecf7888ad9de1fc798b82ded64295
Filesize: 21.771 KB

Version history: (Expand)