Class::MakeMethods::Template::PackageVar - Static methods with global variables
package MyObject; use Class::MakeMethods::Template::PackageVar ( scalar => [ 'foo' ] );
package main;
MyObject->foo('bar') print MyObject->foo();
$MyObject::foo = 'bazillion'; print MyObject->foo();
These meta-methods provide access to package (class global) variables. These are essentially the same as the Static meta-methods, except that they use a global variable in the declaring package to store their values.
Common Parameters: The following parameters are defined for PackageVar meta-methods.
The name of the variable to store the value in. Defaults to the same name as the method.
Creates methods to handle a scalar variable in the declaring package.
See the documentation on Generic:scalar for interfaces and behaviors.
Creates methods to handle a array variable in the declaring package.
See the documentation on Generic:array for interfaces and behaviors.
Creates methods to handle a hash variable in the declaring package.
See the documentation on Generic:hash for interfaces and behaviors.
This rewrite rule converts package variable names into PackageVar methods of the equivalent data type.
Here's an example declaration:
package MyClass;
use Class::MakeMethods::Template::PackageVar ( vars => '$DEBUG %Index' );
MyClass now has methods that get and set the contents of its $MyClass::DEBUG and %MyClass::Index package variables:
MyClass->DEBUG( 1 ); MyClass->Index( 'foo' => 'bar' );