#!/usr/bin/perl use strict; use warnings; require B; my $a = B->new(); package A; use strict; use warnings; sub new { my ($class, %args) = @_; my $self = bless { }, ref($class) || $class; return $self; } 1; package B; use strict; use warnings; require A; @B::ISA = qw(A); sub _init { my ($self, %args) = @_; $self->{_title} = $args{title} || undef; } 1;