Variable::Magic - Associate user-defined magic to variables from Perl.
VERSION
- Version 0.25
+ Version 0.27
SYNOPSIS
use Variable::Magic qw/wizard cast dispell/;
*p14416* : 'copy' and 'dup' magic.
+ * 5.8.9
+
+ *p28160* : Integration of *p25854* (see below).
+
+ *p32542* : Integration of *p31473* (see below).
+
* 5.9.3
*p25854* : 'len' magic is no longer called when pushing an element
*p32969* : 'len' magic is no longer invoked when calling "length"
with a magical scalar.
+ *p34908* : 'len' magic is no longer called when pushing / unshifting
+ an element into a magical array in void context. The "push" part was
+ already covered by *p25854*.
+
CONSTANTS
"SIG_MIN"
The minimum integer used as a signature for user-defined magic.
True for perls that don't call 'len' magic when you push an element in a
magical array.
+ "VMG_COMPAT_ARRAY_UNSHIFT_NOLEN_VOID"
+ True for perls that don't call 'len' magic when you unshift in void
+ context an element in a magical array.
+
"VMG_COMPAT_ARRAY_UNDEF_CLEAR"
True for perls that call 'clear' magic when undefining magical arrays.
(for example) cast magic on it. "copy" magic also receives the
current element (i.e. the value) in $_[3].
+ All the callbacks are expected to return an integer, which is passed
+ straight to the perl magic API. However, only the return value of
+ the "len" callback currently holds a meaning.
+
# A simple scalar tracer
my $wiz = wizard get => sub { print STDERR "got ${$_[0]}\n" },
set => sub { print STDERR "set to ${$_[0]}\n" },
this destructor won't be called because the wizard will be destroyed
first.
+ Using "get" and "clear" magics on hashes may cause segfaults.
+
DEPENDENCIES
perl 5.7.3.
<http://www.profvince.com/perl/cover/Variable-Magic>.
COPYRIGHT & LICENSE
- Copyright 2007-2008 Vincent Pit, all rights reserved.
+ Copyright 2007-2009 Vincent Pit, all rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.