package Foo; use MakeMethods constructor => 'new', required => [qw(bar baz)], get_set =>[qw(bar baz)]; package BigFoo; use base 'Foo'; use MakeMethods get_set =>[qw(zonk zank)]; package main; use Data::Dumper; my $a = BigFoo->new(bar=>1, baz=>2, zonk=>3); print ref($a), "\n", $a->isa('Foo'), "\n"; print Dumper($a);