##
my $obj = {};
bless $obj, "Foo";
$obj->{A}{B}{C} = "this is a C";
print $obj->C; # outputs "this is a C"
##
##
package Bar;
use base qw/Class::StructAccessors/;
__PACKAGE__->mk_struct_accessors({X => {Y => Z}});
##
##
my $obj = bless {a => {b => {c => 'data for c'}}}, "Class::StructAccessorMk2";