Class::Fields::Fuxor is a low level manipulation of object data members.
# As functions.
add_fields($class, $attrib, @fields);
add_field_set($class, @fields, @attribs);
$fields = get_fields($class);
$fattr = get_attr($class);
# As methods.
use base qw( Class::Fields::Fuxor );
$fields = Foo->get_fields;
$fattr = Foo->get_attr;
This is a module for low level manipuation of the %FIELDS hash and its accompying %fields::attr hash without actually touching them. Modules like fields.pm, base.pm and public.pm make use of this module.
%FIELDS and %fields::attr are currently used to store information about the data members of classes. Since the current data inheritance system, built around pseudo-hashes, is considered a bit twitchy, it is wise to encapsulate and rope it off in the expectation that it will be replaced with something better.
Typically one does not want to mess with this stuff and instead uses fields.pm and friends or perhaps Class::Fields.