Revision history for autovivification
 
+0.04    2010-01-10 00:30 UTC
+        + Add : Array and hash slices are now handled by the pragma.
+        + Fix : Work around Kwalitee test misfailures.
+
 0.03    2009-06-23 22:20 UTC
         + Add : Handle old-fashion dereferencing (like $$hashref{key}).
         + Chg : Aliasing constructs (for ($x{foo}) { ... }) are now covered by
 
 --- #YAML:1.0
 name:               autovivification
-version:            0.03
+version:            0.04
 abstract:           Lexically disable autovivification.
 author:
     - Vincent Pit <perl@profvince.com>
 build_requires:
     ExtUtils::MakeMaker:  0
     Test::More:           0
+    XSLoader:             0
 requires:
     perl:      5.008
     XSLoader:  0
     directory:
         - t
         - inc
-generated_by:       ExtUtils::MakeMaker version 6.52
+generated_by:       ExtUtils::MakeMaker version 6.56
 meta-spec:
     url:      http://module-build.sourceforge.net/META-spec-v1.4.html
     version:  1.4
+dynamic_config:     1
 
     autovivification - Lexically disable autovivification.
 
 VERSION
-    Version 0.03
+    Version 0.04
 
 SYNOPSIS
         no autovivification;
 
         Turn off autovivification for rvalue dereferencing expressions, such
         as "$value = $hashref->{key}[$idx]{$field}", "keys
-        %{$hashref->{key}}" or "values %{$hashref->{key}}". When the
-        expression would have autovivified, "undef" is returned for a plain
-        fetch, while "keys" and "values" return 0 in scalar context and the
-        empty list in list context.
+        %{$hashref->{key}}" or "values %{$hashref->{key}}". Starting from
+        perl 5.11, it also covers "leys" and "values" on array references.
+        When the expression would have autovivified, "undef" is returned for
+        a plain fetch, while "keys" and "values" return 0 in scalar context
+        and the empty list in list context.
 
     *   'exists'
 
     When @opts is empty, it defaults to restoring the original Perl
     autovivification behaviour.
 
+CAVEATS
+    The pragma doesn't apply when one dereferences the returned value of an
+    array or hash slice, as in "@array[$id]->{member}" or
+    @hash{$key}->{member}. This syntax is valid Perl, yet it's discouraged
+    as the slice is here useless since the dereferencing enforces scalar
+    context. If warnings are turned on, Perl will complain about one-element
+    slices.
+
 DEPENDENCIES
     perl 5.8.
 
     Matt S. Trout asked for it.
 
 COPYRIGHT & LICENSE
-    Copyright 2009 Vincent Pit, all rights reserved.
+    Copyright 2009,2010 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.