package PClass1; use strict; use Carp; sub new { my $proto = shift; my $class = ref($proto) || $proto; my (%args) = @_; my $this = { _fs => $args{fs} || croak("You must supply a filesystem"), }; bless $this, $class; return $this; } ... package PClass2; use strict; sub new { my $proto = shift; my $class = ref($proto) || $proto; my (%args) = @_; my $this = { _hosts => $args{hosts}, }; bless $this, $class; return $this; } ...... package Subclass; use strict; use PClass1; use PClass2; our @ISA=qw(PClass1 PClass2); sub new { my ($class, %args) = @_; my $this = {}; bless $this, $class; $this = $class->PClass1::new(%args); #HOW DO I CALL THE SECOND CONSTRUCTOR HERE????? $this->init($this); return $this; }