Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

This was posted as a reply to Storing Objects in a Database

Here is a question:

I use objects so that each object can implement an interface and have code execute when a method is called. That is why most people use OO, I think.

Anyway, how can I serialize those code refs so that I can send an object and its code and its package name across a network, between sessions, et cetra.

I mean, this is a big fat security hole, but I still think this ability would be cool.

I could write a subroutine that grabs all the instance variables in an object (with something like Storable or Data::Dump) and make sure the package exists on both places I want to use the object and recreate the object with the supplied instance variables.

But I don't like that way -- I want to be able to send the whole package namespace and its methods to somewhere that doesn't necessarily have that package.

Can it be done? Any ideas?

Gary Richardson
gary@atdot.org

Replies are listed 'Best First'.
RE: Code too?
by chromatic (Archbishop) on Feb 20, 2000 at 05:37 UTC
    The only idea I've come up with is writing the object to the filesystem in an intermediary step, making sure you have the path in a "use lib" statement, and then requireing it on the remote host. I don't know how well that would work -- but for my purposes, where people can edit objects in real-time, it has some possibilities.