in reply to Replacing closures (to work around threads crash)
A closure is a hard reference to compiled code with some bound parameters. You could relax all of that to end up with the name of a function and a list of parameters to call it with. So instead of $lex = "a value"; $sub = sub { $lex }, $sub = [ 'sub_that_does_foo', $lex ]. You might even just relax symbolic references for a bit and then you could call the function like $sub->() even. If you use no strict 'refs', do it in a small block to keep the scope of that small.
|