dear brothers and sisters,
while using CGI::Session I learned about Safe.pm. It's used in CGI::Session to savely eval stuff that has been written by Data::Dumper. This works great with normal data structures, but not with objects.
Say I have a Data::Dumper - string containing (among other stuff) an object:
$string = <<'EOM'; $data = { 'person' => bless( [ 42 ], 'Person' ) }; EOM
When I reval this string like so...
my $mysafe = Safe->new("MySafe"); $mysafe->reval($string);
...I get a proper object of class Person, but I can't call any of the methods:
Can't locate object method "method" via package "Person" (perhaps you forgot to load "Person"?)
Why is that? Is that a bug or a feature?
P.S. The full code is available
-- Brigitte 'I never met a chocolate I didnt like' Jellinek http://www.horus.com/~bjelli/ http://perlwelt.horus.at
In reply to reval in Safe.pm and objects by bjelli
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |