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 \*(C`highest\*(C' 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.
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.