]> git.vpit.fr Git - perl/modules/Variable-Magic.git/commitdiff
Document magic on array/hash values
authorVincent Pit <vince@profvince.com>
Thu, 12 Feb 2009 16:55:10 +0000 (17:55 +0100)
committerVincent Pit <vince@profvince.com>
Thu, 12 Feb 2009 16:55:10 +0000 (17:55 +0100)
lib/Variable/Magic.pm

index 27e482c33c19639b6204c9b87317aa0b9fc740f3..e09ef044d5bd767c239fdc74f5f50ab5bca4829b 100644 (file)
@@ -423,6 +423,15 @@ If the variable isn't a hash, any C<uvar> callback of the wizard is safely ignor
     my $x;
     die 'error' unless cast $x, $wiz;
 
+The C<var> argument can be an array or hash value.
+Magic for those behaves like for any other scalar, except that it is dispelled when the entry is deleted from the container.
+For example, if you want to call C<POSIX::tzset> each time the C<'TZ'> environment variable is changed in C<%ENV>, you can use :
+
+    use POSIX;
+    cast $ENV{TZ}, wizard set => sub { POSIX::tzset(); () };
+
+If you want to overcome the possible deletion of the C<'TZ'> entry, you have no choice but to rely on C<store> uvar magic.
+
 =head2 C<getdata>
 
     getdata [$@%&*]var, [$wiz|$sig]