package Object; use strict; use warnings; sub new { my ($class) = @_; my $self = { _object => $class, }; bless $self, $class; return $self; } sub toString { my $self = shift; return $self->{'_object'}; } 1 #### package Bah; use lib "."; use Object; use strict; our @ISA = qw(Object); # inherits from Object # Create Object class instance #my $Object = Object()->new(); sub new { my ($class) = @_; my $self = $class->SUPER::new(@_); $self->{'_bah'} = 0; return $self; } sub printBah { my $self = shift; print "Bah\n"; } 1 #### use lib "."; use Bah; use strict; use Data::Dumper; my $bah = Bah->new(); print $bah->toString() . "\n"; $bah->printBah();