/usr/share/perl5/Aspect/Pointcut/True.pm is in libaspect-perl 1.04-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | package Aspect::Pointcut::True;
use strict;
use Aspect::Pointcut ();
our $VERSION = '1.04';
our @ISA = 'Aspect::Pointcut';
######################################################################
# Weaving Methods
# The true pointcut is a run-time only pointcut
sub curry_weave {
return;
}
# The true pointcut contains no state and doesn't need to be curried.
# Simply return it as-is and reuse it everywhere.
sub curry_runtime {
return $_[0];
}
######################################################################
# Runtime Methods
sub compile_runtime {
$_[0]->[0];
}
######################################################################
# Optional XS Acceleration
BEGIN {
local $@;
eval <<'END_PERL';
use Class::XSAccessor::Array 1.08 {
replace => 1,
getters => {
'compile_runtime' => 0,
},
};
END_PERL
}
1;
__END__
=pod
=head1 NAME
Aspect::Pointcut::True - Pointcut that allows arbitrary Perl code
=head1 SYNOPSIS
use Aspect;
# High-level creation
my $pointcut1 = true { rand() > 0.5 };
# Manual creation
my $pointcut2 = Aspect::Pointcut::True->new(
sub { rand() > 0.5 }
);
=head1 DESCRIPTION
Because L<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.
B<Aspect::Pointcut::True> 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 L<Aspect::Point> object for the call.
=head1 AUTHORS
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
Marcel GrE<uuml>nauer E<lt>marcel@cpan.orgE<gt>
Ran Eilam E<lt>eilara@cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2001 by Marcel GrE<uuml>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.
=cut
|