NAME Class::AutoAccess::Deep - automatically creates the accessors reach deep inside the field SYNOPSIS package MyClass; # inherit Class::AutoAccess::Deep and that's all use base qw(Class::AutoAccess::Deep); sub to_check { # write your own processing code... } package main; $data = { foo => undef, bar => { baz => undef, }, to_check => undef, }; my $obj = MyClass->new($data); # now, you can access