]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - lib/Variable/Magic.pm
Allow passing ref-to-undef as callbacks to install a noop callback
[perl/modules/Variable-Magic.git] / lib / Variable / Magic.pm
index 05821e9799f35310aa118df000ef4a315ebf066b..73402ac0262b328ff8002695d01150c49b6cdeaa 100644 (file)
@@ -285,7 +285,25 @@ However, only the return value of the C<len> 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<undef>, 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<free> callbacks are I<never> called during global destruction, as there's no way to ensure that the wizard and the C<free> callback weren't destroyed before the variable.