bjelli has asked for the wisdom of the Perl Monks concerning the following question:
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: reval in Safe.pm and objects
by flounder99 (Friar) on Sep 06, 2002 at 19:43 UTC | |
by Aristotle (Chancellor) on Sep 07, 2002 at 05:05 UTC | |
|
Re: reval in Safe.pm and objects
by Aristotle (Chancellor) on Sep 07, 2002 at 05:41 UTC | |
|
Re: reval in Safe.pm and objects
by abell (Chaplain) on Sep 06, 2002 at 19:40 UTC | |
|
Re: reval in Safe.pm and objects
by bjelli (Pilgrim) on Sep 07, 2002 at 07:38 UTC | |
by Aristotle (Chancellor) on Sep 07, 2002 at 08:27 UTC |