in reply to Inheritance and Internal object methods

bar() will get $self if you call it like this:

sub foo { my $self = shift; $self->bar( "do something" ); }

If foo() had to call a method in the parent class:

sub foo { my $self = shift; $self->SUPER::foo( "do something" ); }