Class::Tom - The Transportable Object Model for Perl
use Class::Tom qw ( restore );
my $tom = new Class::Tom;
$tom->insert(<OBJECT>);
$tom->insert(<ANONYMOUS SUB>);
$tom->insert(<PACKAGE NAME>);
my $flat = $tom->store();
my $newtom = restore( $flat );
Class::Tom allows you to transport objects from one system to another
without requiring that the packages the object relies on actually exist on
the other machine.
new is the objects constructor. It can optionally take the Encoder
argument if you've created a new encoding scheme.
The insert method accepts one of three things as an argument, a) an
CODE reference (such as an anonymous subroutine or a reference to a
subroutine), b) an Object or c) a string that contains the package name.
If you insert an Object then insert returns the id of that object in
the internal object list.
The extract method returns an object that has been insert'ed. The
argument is the Id of the object you insert.
The store method returns the flattened container ready for shipping.
The register method evals each of the methods stored inside the TOM
compartment
restore is optionally exported, and is used to turn a flattened TOM
object into a real perl object.
There are probably loads. I've not had time to test this on any machine other than my own, so your milage may vary. Remember, this is a beta version. 3.02 will be the full bugfixed release.
James A. Duncan <j@mesduncan.co.uk>
perl(1)