X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FVariable%2FMagic.pm;h=73402ac0262b328ff8002695d01150c49b6cdeaa;hb=f7f52ae0225ab0bf6304c21f5c8f53b2e9307bfa;hp=01b1c7069223a53b2597aaf91cd542f71623832e;hpb=e7d06d42b01cc371aabcd4cee7ef786059ed7a1b;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/lib/Variable/Magic.pm b/lib/Variable/Magic.pm index 01b1c70..73402ac 100644 --- a/lib/Variable/Magic.pm +++ b/lib/Variable/Magic.pm @@ -11,13 +11,13 @@ Variable::Magic - Associate user-defined magic to variables from Perl. =head1 VERSION -Version 0.46 +Version 0.47 =cut our $VERSION; BEGIN { - $VERSION = '0.46'; + $VERSION = '0.47'; } =head1 SYNOPSIS @@ -285,7 +285,25 @@ However, only the return value of the C callback currently holds a meaning. =back -Each callback can be specified as a code or a string reference, in which case the function denoted by the string will be used as the callback. +Each callback can be specified as : + +=over 4 + +=item * + +a code reference, which will be called as a subroutine. + +=item * + +a string reference, where the string denotes which subroutine is to be called when magic is triggered. +If the subroutine name is not fully qualified, then the current package at the time the magic is invoked will be used instead. + +=item * + +a reference to C, in which case a no-op magic callback is installed instead of the default one. +This may especially be helpful for 'local' magic, where an empty callback prevents magic from being copied during localization. + +=back Note that C callbacks are I called during global destruction, as there's no way to ensure that the wizard and the C callback weren't destroyed before the variable. @@ -389,6 +407,10 @@ When this constant is true, you can use the C callbac Initial VMG_UVAR capability was introduced in perl 5.9.5, with a fully functional implementation shipped with perl 5.10.0. +=head2 C + +True for perls that don't call 'len' magic when taking the C of a magical scalar. + =head2 C True for perls that don't call 'len' magic when you push an element in a magical array. @@ -406,9 +428,9 @@ True for perls that don't call 'len' magic when you unshift in void context an e True for perls that call 'clear' magic when undefining magical arrays. -=head2 C +=head2 C -True for perls that don't call 'len' magic when taking the C of a magical scalar. +True for perls that don't call 'delete' uvar magic when you delete an element from a hash in void context. =head2 C @@ -587,10 +609,11 @@ our %EXPORT_TAGS = ( 'funcs' => [ qw ], 'consts' => [ qw< MGf_COPY MGf_DUP MGf_LOCAL VMG_UVAR + VMG_COMPAT_SCALAR_LENGTH_NOLEN VMG_COMPAT_ARRAY_PUSH_NOLEN VMG_COMPAT_ARRAY_PUSH_NOLEN_VOID VMG_COMPAT_ARRAY_UNSHIFT_NOLEN_VOID VMG_COMPAT_ARRAY_UNDEF_CLEAR - VMG_COMPAT_SCALAR_LENGTH_NOLEN + VMG_COMPAT_HASH_DELETE_NOUVAR_VOID VMG_COMPAT_GLOB_GET VMG_PERL_PATCHLEVEL VMG_THREADSAFE VMG_FORKSAFE