The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Class::Member - A set of modules to make the module developement easier

SYNOPSIS

 package MyModule;
 use Class::Member::HASH qw/member_A member_B/;
 
 or
 
 package MyModule;
 use Class::Member::GLOB qw/member_A member_B/;

DESCRIPTION

Class::Member is not a useable perl module by its own. It is a set of 2 modules to make access to class member variables easier and less error prone.

Perl class instances are mostly blessed HASHes or GLOBs and store member variables either as $self->{membername} or ${*$self}{membername} respectively.

This is very error prone when you start to develope derived classes based on such modules. The developer of the derived class must watch the member variables of the base class to avoid name conflicts.

To avoid that Class::Member::XXX stores member variables in its own namespace prepending the package name to the variable name, e.g.

 package My::New::Module;

 use Class::Member::HASH qw/member_A memberB/;

will store member_A as $self->{'My::New::Module::member_A'}.

To make access to these members easier it exports access functions into the callers namespace. To access member_A you simply call.

 $self->member_A;               # read access
 $self->member_A($new_value);   # write access
 $self->member_A=$new_value;    # write access

AUTHOR

Torsten Förtsch <Torsten.Foertsch@gmx.net>

SEE ALSO

Class::Member::HASH, Class::Member::GLOB

COPYRIGHT

Copyright 2003 Torsten Förtsch.

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

1 POD Error

The following errors were encountered while parsing the POD:

Around line 62:

Non-ASCII character seen before =encoding in 'Förtsch'. Assuming CP1252