- each set of callbacks for magic operations).
-
-PERL MAGIC HISTORY
- The places where magic is invoked have changed a bit through perl
- history. Here's a little list of the most recent ones.
-
- * 5.6.x
-
- *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
- into a magic array.
-
- *p26569* : 'local' magic.
-
- * 5.9.5
-
- *p31064* : Meaningful 'uvar' magic.
-
- *p31473* : 'clear' magic wasn't invoked when undefining an array.
- The bug is fixed as of this version.
-
- * 5.10.0
-
- Since "PERL_MAGIC_uvar" is uppercased, "hv_magic_check()" triggers
- 'copy' magic on hash stores for (non-tied) hashes that also have
- 'uvar' magic.
-
- * 5.11.x
-
- *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.
-
- "SIG_MAX"
- The maximum integer used as a signature for user-defined magic.
-
- "SIG_NBR"
- SIG_NBR = SIG_MAX - SIG_MIN + 1
-
- "MGf_COPY"
- Evaluates to true iff the 'copy' magic is available.
-
- "MGf_DUP"
- Evaluates to true iff the 'dup' magic is available.
-
- "MGf_LOCAL"
- Evaluates to true iff the 'local' magic is available.
-
- "VMG_UVAR"
- When this constant is true, you can use the "fetch,store,exists,delete"
- callbacks on hashes.
-
- "VMG_COMPAT_ARRAY_PUSH_NOLEN"
- 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.
-
- "VMG_COMPAT_SCALAR_LENGTH_NOLEN"
- True for perls that don't call 'len' magic when taking the "length" of a
- magical scalar.
-
- "VMG_PERL_PATCHLEVEL"
- The perl patchlevel this module was built with, or 0 for non-debugging
- perls.
-
- "VMG_THREADSAFE"
- True iff this module could have been built with thread-safety features
- enabled.
-
- "VMG_OP_INFO_NAME"
- Value to pass with "op_info" to get the current op name in the magic
- callbacks.
-
- "VMG_OP_INFO_OBJECT"
- Value to pass with "op_info" to get a "B::OP" object representing the
- current op in the magic callbacks.