Skip to content

Instantly share code, notes, and snippets.

@tobyink
Created September 21, 2013 09:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tobyink/6648775 to your computer and use it in GitHub Desktop.
Save tobyink/6648775 to your computer and use it in GitHub Desktop.
use Data::Dumper;
use Class::Method::Modifiers qw(install_modifier);
$Data::Dumper::Useperl = 1;
install_modifier 'Data::Dumper', around => '_dump', sub
{
my $next = shift;
my $self = shift;
my ($val, $name) = @_;
require Scalar::Util;
require B;
if (Scalar::Util::blessed($val) and $val->isa('mop::object'))
{
my $guts = $val->dump;
delete $guts->{$_} for qw( __ID__ __SELF__ );
my $class = B::perlstring(delete $guts->{__CLASS__});
my $str = $self->$next($guts, $name);
return "mop::anoint($str, $class)";
}
return $self->$next(@_);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment