Variable::Magic - Associate user-defined magic to variables from Perl.
VERSION
- Version 0.33
+ Version 0.37
SYNOPSIS
use Variable::Magic qw/wizard cast VMG_OP_INFO_NAME/;
* "get"
- This magic is invoked when the variable is evaluated (does not
- include array/hash subscripts and slices).
+ This magic is invoked when the variable is evaluated. It is never
+ called for arrays and hashes.
* "set"
- This one is triggered each time the value of the variable changes
- (includes array/hash subscripts and slices).
+ This one is triggered each time the value of the variable changes.
+ It is called for array subscripts and slices, but never for hashes.
* "len"
$_[2] is an alias to the current key. Nothing prevents you
from changing it, but be aware that there lurk dangerous
- side effects. For example, it may righteously be readonly if
+ side effects. For example, it may rightfully be readonly if
the key was a bareword. You can get a copy instead by
passing "copy_key => 1" to "wizard", which allows you to
safely assign to $_[2] in order to e.g. redirect the action
This accessor fetches the private data associated with the magic $wiz
(or the signature $sig) in the variable. It croaks when $wiz or $sig do
- not represent a current valid magic object attached to the variable, and
- returns "undef" when the wizard has no data constructor or when the data
- is actually "undef".
+ not represent a valid magic object, and returns an empty list if no such
+ magic is attached to the variable or when the wizard has no data
+ constructor.
# Get the attached data, or undef if the wizard does not attach any.
my $data = getdata $x, $wiz;
True iff this module could have been built with thread-safety features
enabled.
+ "VMG_FORKSAFE"
+ True iff this module could have been built with fork-safety features
+ enabled. This will always be true except on Windows where it's false for
+ perl 5.10.0 and below .
+
"VMG_OP_INFO_NAME"
Value to pass with "op_info" to get the current op name in the magic
callbacks.