Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
Perl: the Markov chain saw
 
PerlMonks  

•Re: Re: Re: Serializing coderefs

by merlyn (Sage)
on Jun 20, 2002 at 09:50 UTC ( [id://176012]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to Re: Re: Serializing coderefs
in thread Serializing coderefs

That of course "does the job" for a limited subset of coderefs, since at the moment there's no way to know the closure bindings (or get at them for their current values), so it'll come back to life pointing at an entirely wrong set of closure-bound variables.

This is a known issue, and being considered during the development of the Perl6 runtime engine.

-- Randal L. Schwartz, Perl hacker

Replies are listed 'Best First'.
Re: ?Re: Re: Re: Serializing coderefs
by jmerelo (Sexton) on Jun 20, 2002 at 11:05 UTC
    Is there a better way? Any reference to the cases where it will fail?
      It will fail on this:
      my $increment_by_secret = do { my $secret_number = 7; sub { $secret_number + shift }; };
      It fails because there's no access to $secret_number from outside the coderef, so we can't tell what the "magic constant" should be. All you get is:
      { ($secret_number + shift(@_)); }
      (Just tested.)

      -- Randal L. Schwartz, Perl hacker

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://176012]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.