Object::groups is a pragma to implement group of properties.
This pragma is very similar to the Class::groups pragma: the main difference is the underlying variable that holds the value, which is a global hash in the caller package instead in the class. For example:
package BaseClass;
use Package::groups 'a_package_group';
use Class::groups 'a_class_group';
package SubClass;
our @ISA = 'BaseClass';
# underlaying hash for accessor 'a_package_group' is
# ºseClass::a_package_group
# underlaying hash for accessor 'a_class_group' is
# %SubClass::a_class_group;
This might seem a subtle difference, but the possible usage in inherited classes makes a big difference.
While you can also call a package group accessor by statically using the implementing package name (e.g. BaseClass-a_group>), regardless the subclass that uses it, overridden package accessor groups don't inherit defaults as Class accessors do.
Product's homepage
Requirements:
· Perl