Package::props(3)

NAME
Object::props - Pragma to implement lvalue accessors with options

VERSION 2.41
Included in OOTools 2.41 distribution.

The latest versions changes are reported in the Changes file in this distribution.

The distribution includes:

Package::props
    Pragma to implement lvalue accessors with options

Package::groups
    Pragma to implement groups of properties accessors with options

Class::constr
    Pragma to implement constructor methods

Class::props
    Pragma to implement lvalue accessors with options

Class::groups
    Pragma to implement groups of properties accessors with options

Class::Error
    Delayed checking of object failure

Class::Util
    Class utility functions

Object::props
    Pragma to implement lvalue accessors with options

Object::groups
    Pragma to implement groups of properties accessors with options

INSTALLATION

Prerequisites
        Perl version >= 5.6.1

CPAN
        perl -MCPAN -e 'install OOTools'

Standard installation
    From the directory where this file is located, type:

        perl Makefile.PL
        make
        make test
        make install

DESCRIPTION
This pragma is very similar to the "Class::props" pragma: the main difference is the underlying variable that holds the value, which is a global scalar in the caller package instead in the class. For example:

   package BaseClass;
   use Package::props 'a_package_prop';
   use Class::props 'a_class_prop';

   package SubClass;
   our @ISA = 'BaseClass';

   # underlaying scalar for accessor 'a_package_prop' is
   # $BaseClass::a_package_prop
   # underlaying scalar for accessor 'a_class_prop' is
   # $SubClass::a_class_prop;

This might seem a subtle difference, but the possible usage in inherited classes makes a big difference.

You can also call a package property accessor by statically using the implementing package name (e.g. "BaseClass-"a_prop>), regardless the subclass that uses it.

See the documentation of the accessor properties in Class::props for all the details.

SUPPORT and FEEDBACK
If you need support or if you want just to send me some feedback or request, please use this link: http://perl.4pro.net/?Object::props.

AUTHOR and COPYRIGHT
Copyright 2004-2005 by Domizio Demichelis.

All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as perl itself.

CREDITS
Thanks to Juerd Waalboer (http://search.cpan.org/author/JUERD) that with its Attribute::Property inspired the creation of this distribution.