Aspect::Pointcut::If(3) Pointcut that allows arbitrary Perl code


use Aspect;

# High-level creation
my $pointcut1 = if_true { rand() > 0.5 };

# Manual creation
my $pointcut2 = Aspect::Pointcut::If->new(
sub { rand() > 0.5 }


Because Aspect's weaving phase technically occurs at run-time (relative to the overall process) it does not need to be limit itself only to conditions that are fully describable at compile-time.

Aspect::Pointcut::If allows you to take advantage of this to create your own custom run-time pointcut conditions, although for safety and purity reasons you are not permitted to create custom conditions that interact with the Aspect::Point object for the call.


Adam Kennedy <[email protected]>

Marcel Gru.nauer <[email protected]>

Ran Eilam <[email protected]>


Copyright 2001 by Marcel Gru.nauer

Some parts copyright 2009 - 2010 Adam Kennedy.

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