package OBJ; sub new { shift; bless {@_}, 'OBJ'; } sub normal { shift->{normal} } sub listl { my $self = shift; my $index = shift; my $key = shift; $self->{listl}[$index]{$key}; } ##### package main; my $obj = new OBJ(normal => "some text", listl => [{keys => vals}, {keys => vals}, ]); $normal = $obj->normal(); $value = $obj->listl(0,'key');