Aspect::Pointcut::Highest(3) Pointcut for preventing recursive matching


use Aspect;

# High-level creation
my $pointcut1 = highest;

# Manual creation
my $pointcut2 = Aspect::Pointcut::Highest->new;


For aspects including timers and other Aspect::Advice::Around-based advice, recursion can be significant problem.

The "highest" pointcut solves this problem by matching only on the highest invocation of a function. If the function is called again recursively within the first call, at any depth, the deeper calls will be not match and the advice will not be executed.


Adam Kennedy <[email protected]>

Marcel Gru.nauer <[email protected]>

Ran Eilam <[email protected]>


Copyright 2001 by Marcel Gru.nauer

Some parts copyright 2009 - 2013 Adam Kennedy.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.