package Foo; use strict; use fields qw(Foo_field); sub new ($) { return fields::new(shift); } package Bar; use strict; use fields qw(Bar_field); use base qw(Foo); package main; use Test::More 'no_plan'; my Bar $obj = new Bar(); ok ($obj, "got instance"); ok ($obj->isa("Bar"), "it's a Bar"); ok ($obj->isa("Foo"), "it's a Foo"); ok ($obj->{Bar_field} = 2, "Can assign Bar_field"); ok ($obj->{Foo_field} = 3, "Can assign Foo_field"); is ($obj->{Bar_field}, 2, "Bar is assigned"); is ($obj->{Foo_field}, 3, "Foo is assigned");