logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Aspect::Advice::After - Execute code after a function is called

Authors

       Adam Kennedy <adamk@cpan.org>

Description

       The "after" advice type is used to execute code after a function is called, regardless of whether or not
       the function returned normally or threw an exception.

       The "after" advice type should be used when you need to potentially make multiple different changes to
       the returned value or the thrown exception.

       If you only care about normally returned values you should use "returning" in the pointcut to exclude
       join points occuring due to exceptions.

       If you only care about handling exceptions you should use "throwing" in the pointcut to exclude join
       points occuring due to normal return.

Name

       Aspect::Advice::After - Execute code after a function is called

Synopsis

         use Aspect;

         after {
             # Trace all returning calls to your module
             print STDERR "Called my function " . $_->sub_name . "\n";

             # Suppress exceptions AND alter the results to foo()
             if ( $_->short_name eq 'foo' ) {
                 if ( $_->exception ) {
                     $_->return_value(1);
                 } else {
                     $_->return_value( $_->return_value + 1 );
                 }
             }

         } call qr/^ MyModule::\w+ $/

See Also