http://www.perlmonks.org?node_id=188985

bizzach has asked for the wisdom of the Perl Monks concerning the following question:

I have two classes, each has a constructor named new. I want to subclass the classes to make a new class. I need to call both parent constructors. However, how do I call the second constructor without clobbering by the data instance variables from first one? I can't seem to find this anywhere in the perldocs or in the Manning book.
Thanks,
Bizzach
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; }