#!/usr/bin/perl -w
######################################################################
# super.pl
######################################################################
# Perl Power! - Michael Schilli 1998
######################################################################

######################################################################
package Base;              # base class

sub basemethod { print "Method of the base class\n"; }

######################################################################
package Derived;           # derived class

@ISA = qw(Base);           # inherits from 'Base'

sub new {                  # constructor
    my $class = shift;
    bless {}, $class;
}

sub basemethod {           # redefines 'basemethod' of 'Base',
    my $self = shift;      # but uses its functionality

                           # method call in 'Base'
    $self->SUPER::basemethod();

                           # ... additional functionality ...
    print "Method of the derived class\n";
}

######################################################################
package main;              # main program

$dobj = Derived->new();    # create object

$dobj->basemethod();       # ...uses derived and base class

