use Data::Dumper; my $hashref={ ...., k1 => { .... k2 => { .... kN => {...., mydata => MyClass->new(), .... }}}}; print(Dumper($hashref)); #### .... mydata => bless(..., 'MyClass') .... #### .... mydata => 'MyOwnRepresentation of the MyClass instance' .... #### sub MyClass::myfreezer { ... } $Data::Dumper::Freeze='myfreezer'