package A; use B; use C; @ISA = qw/B C/; sub new { my ($class) = @_; bless {_foo => $_[1], _bar => $_[2],_baz => $_[3], _qux => $_[4],}, $class; } ------------ package B; sub new { my ($class) = @_; bless {_foo => $_[1], _bar => $_[2],}, $class; } ------------ package C; sub new { my ($class) = @_; bless {_baz => $_[1], _qux => $_[2],}, $class; } #### my $o = A->new('a', 'b', 'c', 'd');