
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)