Moose self-evidently isn't as paranoid about revealing its' inner workings as Object::InsideOut
Yeah, it is exactly the opposite of the Inside-Out objects, using the meta layer of Moose that is provided by Class::MOP you can dig very deeply into the class and get all the details if you want.
my $foo = Foo->new;
my $meta_instance = Foo->meta->get_meta_instance;
print join "\n" => map { "$_ => " . $meta_instance->get_slot_value($fo
+o, $_) } $meta_instance->get_all_slots;
Or, because Moose deep down is just plain old HASH based perl objects you can just do
print Dumper $foo;
Or as the above poster pointed out you can use the (simplistic but useful) Moose::Object::dump method
print $foo->dump;
But all that said, Object::InsideOut also provides a dump method that by default will do the right thing too.
|