Scope-Escape-Sugar
view release on metacpan or search on metacpan
}->();
push @events, [ "bb0", [@value] ];
is_deeply \@events, [
[ "aa0" ],
[ "aa1" ],
[ "aa5", [ "aa2a", "aa2b" ] ],
[ "bb0", [ "aa6a", "aa6b" ] ],
];
@events = ();
sub cc($) {
block b;
push @events, [ "cc0" ];
$_[0]->();
push @events, [ "cc1" ];
}
@value = block(b {
push @events, [ "dd0" ];
push @events, [ "dd1a", cc(sub {
push @events, [ "ee0" ];
return_from(b "ee1a", "ee1b");
use warnings;
use strict;
use Test::More tests => 56;
use Scope::Escape::Sugar qw(catch throw);
my(@events, @value);
sub bb() {
push @events, [ "bb0" ];
push @events, [ "bb1a", throw("wibble", "bb2b", "bb2c"), "bb1d" ];
push @events, [ "bb2" ];
("bb3a", "bb3b");
}
@events = ();
@value = sub {
push @events, [ "aa0" ];
catch "wibble";
( run in 0.954 second using v1.01-cache-2.11-cpan-d7f47b0818f )