Scope-Escape-Sugar

 view release on metacpan or  search on metacpan

t/block.t  view on Meta::CPAN

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

t/catch.t  view on Meta::CPAN

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 )