DOKK / manpages / debian 12 / libaspect-perl / Aspect::Pointcut::Highest.3pm.en
Aspect::Pointcut::Highest(3pm) User Contributed Perl Documentation Aspect::Pointcut::Highest(3pm)

Aspect::Pointcut::Highest - 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 <adamk@cpan.org>

Marcel Grünauer <marcel@cpan.org>

Ran Eilam <eilara@cpan.org>

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.

2022-06-08 perl v5.34.0