package Derived; use strict; use warnings; use base 'Base'; use fields qw( _f ); sub new { my $class = shift; my Derived $self = fields::new( $class ); $self->SUPER::new(); $self->{_f} = 'derived'; return $self; } sub derived { my Derived $self = shift; $self->{_f}; } 1;