77
|
0 |
4 |
unless (eval {
do {
(my $serializer_path = $serializer) =~ s[::][/]g;
require "$serializer_path.pm";
my $freeze = $serializer->can('nfreeze') || $serializer->can('freeze') || croak("${\'AnyEvent::POE_Reference';} can't find n?freeze method " . "in $serializer module");
my $thaw = $serializer->can('thaw') || croak("${\'AnyEvent::POE_Reference';} can't find thaw method " . "in $serializer module");
if ($compress) {
croak("${\'AnyEvent::POE_Reference';} can't load Compress::Zlib") unless eval {
do {
require Compress::Zlib
}
};
$$self[0] = sub {
&Compress::Zlib::compress(&$freeze($_[0]));
}
;
$$self[1] = sub {
&$thaw(&Compress::Zlib::uncompress($_[0]));
}
;
}
else {
$$self[0] = $freeze;
$$self[1] = $thaw;
};
1
}
}) |