in reply to Redispatching AUTOLOAD for failure

What's wrong with just dying in AUTOLOAD?
sub AUTOLOAD { (my $meth = our $AUTOLOAD) =~ s/([^:]+)$/$1/; if ( $meth =~ /^is_/ ) { return; } else { die "No such subroutine '$meth''"; } }
It's not exactly the same as you want, though (but it also happens at runtime).