use Scalar::Util qw( weaken ); sub new { my ( $class, $href ) = @_; my $self = { dbi => $$href{dbi} }; { weaken( my $self = $self ); $self->{helper} = Helper->new( helper_function => sub { $self->this_is_from_A(@_) }, ); } bless $self, $class; }