+ Examples
+ Where "reap" fires depending on the $cxt :
+
+ sub {
+ eval {
+ sub {
+ {
+ reap \&cleanup => $cxt;
+ ...
+ } # $cxt = SCOPE(0), or HERE
+ ...
+ }->(); # $cxt = SCOPE(1), or UP, or SUB, or CALLER, or CALLER(0)
+ ...
+ }; # $cxt = SCOPE(2), or UP UP, or UP SUB, or EVAL, or CALLER(1)
+ ...
+ }->(); # $cxt = SCOPE(3), or SUB UP SUB, or SUB EVAL, or CALLER(2)
+ ...
+
+ Where "localize", "localize_elem" and "localize_delete" act depending on
+ the $cxt :
+
+ sub {
+ eval {
+ sub {
+ {
+ localize '$x' => 1 => $cxt;
+ # $cxt = SCOPE(0), or HERE
+ ...
+ }
+ # $cxt = SCOPE(1), or UP, or SUB, or CALLER, or CALLER(0)
+ ...
+ }->();
+ # $cxt = SCOPE(2), or UP UP, or UP SUB, or EVAL, or CALLER(1)
+ ...
+ };
+ # $cxt = SCOPE(3), or SUB UP SUB, or SUB EVAL, or CALLER(2)
+ ...
+ }->();
+ # $cxt = SCOPE(4), UP SUB UP SUB, or UP SUB EVAL, or UP CALLER(2), or TOP
+ ...
+
+ Where "unwind" and "want_at" point to depending on the $cxt:
+
+ sub {
+ eval {
+ sub {
+ {
+ unwind @things => $cxt;
+ ...
+ }
+ ...
+ }->(); # $cxt = SCOPE(0 .. 1), or HERE, or UP, or SUB, or CALLER(0)
+ ...
+ }; # $cxt = SCOPE(2), or UP UP, or UP SUB, or EVAL, or CALLER(1)
+ ...
+ }->(); # $cxt = SCOPE(3), or SUB UP SUB, or SUB EVAL, or CALLER(2)
+ ...
+