On Mon, Oct 22, 2001 at 08:33:49AM -0000, [EMAIL PROTECTED] wrote:
>
> +- the closure issue:
> + there was a suggestion from raptor to use goto() to leave the code
> + unwrapped in the sub handler, which will solve the closure problem,
> + but the problem is that once you leave a subroutine with goto() you
> + cannot return, because you aren't in the sub anymore.
The issue I saw with this was that the top-level code outside the subs
in a module is unreachable (I suspect it's freed, but have no clue)
after the module exits. So, in something like
package Foo ;
enter:
print "entered\n" ;
sub handler { goto enter }
1 ;
, by the time you can call handler(), the label "enter" is no longer
reachable. I suspect it's because the top-level opcodes in a module are
all freed after it is eval()ed.
- Barrie
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]