package Processor::SomeSubClass; @ISA = ( Processor ); sub init { my $self = shift; # do something } # should be called process_line # this one upcases it sub process { my $self = shift; my $line = shift; return uc( $line ); } sub finish { my $self = shift; # do something } 1;