package Class; sub new { my $class = shift; bless {} => $class } sub method { my $self = shift; $self->{attribute} = 'value' }; package Subclass; our @ISA = qw(Class); sub method { my $self = shift; $self->SUPER::method(...); ... } package main; my $class = Subclass->new; $class->method;