NAME

Aspect::Pointcut::Highest - Pointcut for preventing recursive matching

SYNOPSIS

use Aspect;

# High-level creation
my $pointcut1 = highest;

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

DESCRIPTION

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.

AUTHORS

Adam Kennedy <adamk@cpan.org>

Marcel Grünauer <marcel@cpan.org>

Ran Eilam <eilara@cpan.org>

COPYRIGHT

Copyright 2001 by Marcel Grü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.