Callback-Frame
view release on metacpan or search on metacpan
lib/Callback/Frame.pm view on Meta::CPAN
guard => guard {
undef $ret_cb;
delete $active_frames->{$cb_address};
},
};
$new_frame->{catcher} = $catcher if defined $catcher;
$new_frame->{locals} = $locals if defined $locals;
$active_frames->{$cb_address} = $new_frame;
Scalar::Util::weaken($active_frames->{$cb_address});
}
$internal_cb = sub {
my $orig_error = $@;
local $top_of_stack = $new_frame;
my $frame_i = $top_of_stack;
my $val = eval {
lib/Callback/Frame.pm view on Meta::CPAN
}
## No catcher available: just re-throw error
die $err;
}
return $val;
};
my $final_cb = $ret_cb;
Scalar::Util::weaken($ret_cb);
return $final_cb;
}
sub fub (&@) {
my ($code, @args) = @_;
return frame(code => $code, @args);
}
( run in 0.803 second using v1.01-cache-2.11-cpan-65fba6d93b7 )