sub handler { my $r = shift; my $err = ErrorTracker->new; # ... setup stuff my $args = validate_args($r, wrapped_handler_args()); $r->content_type('text/plain'); wrapped_handler($r,$args,$err); # shutdown / error handling stuff return $err->apacheStatus(); } sub wrapped_handler { print "inheritance is broken"; } sub wrapped_handler_args { return {}; }