NAME

   Aspect - AOP in Perl

DESCRIPTION

   Aspect-oriented Programming (AOP) is a programming method developed
   by Xerox PARC and others. The basic idea is that in complex class
   systems there are certain aspects or behaviors that cannot normally
   be expressed in a coherent, concise and precise way. One example of
   such aspects are design patterns, which combine various kinds of
   classes to produce a common type of behavior. Another is logging. See
   http://www.aosd.net for more info.

   Aspects in Perl provide:

   * Dynamic enabling and disabling of aspects at run-time
   * Reusable aspects for prepackaged functionality

   Start with the Aspect module pod for for an introduction to Perl AOP.
   The examples directory in the distribution shows some aspect
   examples. The unit tests are in the tests directory, and can also be
   used as API examples.

LIMITATIONS

   * Some types of pointcuts remain unimplemented
   * Performance may suffer for aspects affecting a wide range of
     join points
   * Getting pointcuts to play well with inheritance is tricky

PREREQUISITES

   Aspect requires Perl 5.8.2, and the following modules, which can be
   obtained from CPAN:

      Test::Class,
      Benchmark::Timer
      Devel::Symdump
      File::Find::Rule

   If you install Aspect from the CPAN shell, these modules will, if
   necessary, be installed automatically as well.

INSTALLATION

   Its all pure Perl, so just put the .pm files in their appropriate local
   Perl subdirectories.

   The easiest way to install this distribution is using the standard build
   process for Perl modules:

      perl Makefile.PL
      make
      make test
      make install

    Or you could use the CPAN shell, as described in the "CPAN" module
    documentation.

CHANGES AND FUTURE DEVELOPMENT

   This README refers to version 0.10. This is the 1st non-developer
   release since Marcel's last release.

   Future versions will provide new types of join points, pointcuts and
   modular aspects. Stability and performance is also an ongoing
   concern. See the TODO file for more info.

AVAILABILITY

   Aspect has been uploaded to the CPAN.

AUTHORS

   Marcel Gr�nauer <marcel@cpan.org>, Ran Eilam <eilara@cpan.org>

COPYRIGHT

   Copyright 2001-2002 Marcel Gr�nauer. All rights reserved.

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