package My::File::Class; use base 'IO::File'; use Class::InsideOut qw/public id register/; public some_property => my %some_property; sub new { my $class = shift; my $self = IO::File->new( @_ ); register( bless $self, $class ); return $self; } 1; #### use My::File::Class; my $obj = My::File::Class->new( "filename.txt" ); $obj->some_property("foo");