package Baz; sub foo { # Do something here ... } package Baz::Ok; use base 'Baz'; sub foo { my $self = shift; # Call parent method first! my $rv = $self->SUPER::foo( @_ ); # Log the call somehow return $rv; }