mikezone has asked for the wisdom of the Perl Monks concerning the following question:
Hi all!
I've got a question that sets my head spinning. I've been asked about the possibility of freeze/thawing a scalar that's a subroutine reference. Can anyone make any suggestions? Will the B perl compiler module be of any use to me?
For example, say I have the following:
my $a = sub { print "Hello!\n" };I want to be able to store $a to a file, read it back from that file, and be still able to call it. Data::Dumper returns: $VAR1 = sub { "DUMMY" }, which obviously doesn't survive the round-trip.
So to reiterate, I'd like to know what freeze and thaw would look like in the following scenario:
my $a = sub { print "Hello\n" }; freeze( $a, "frozen.sub.file" ); $a = undef; thaw( $a, "frozen.sub.file" ); $a->(); # calls $a, printing "Hello\n"
Any and all assistance is greatly appreciated!
- m.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to freeze/thaw anonymous subroutines?
by crazyinsomniac (Prior) on Jun 26, 2002 at 08:36 UTC | |
|
Re: How to freeze/thaw anonymous subroutines?
by rob_au (Abbot) on Jun 26, 2002 at 09:21 UTC | |
|
Re: How to freeze/thaw anonymous subroutines?
by Juerd (Abbot) on Jun 26, 2002 at 08:24 UTC |