package parent; ... sub AUTOLOAD { our $AUTOLOAD; return if ( $AUTOLOAD =~ /DESTROY$/ ); if ( $AUTOLOAD eq 'handled_func' ) { # do something return; } $logger->warn("Tried to call $AUTOLOAD."); } ... package child { ... sub AUTOLOAD { our $AUTOLOAD; return if ( $AUTOLOAD =~ /DESTROY$/ ); $logger->warn("Tried to call $AUTOLOAD."); }