]> git.vpit.fr Git - perl/modules/autovivification.git/commitdiff
This is 0.04 v0.04
authorVincent Pit <vince@profvince.com>
Sun, 10 Jan 2010 00:25:58 +0000 (01:25 +0100)
committerVincent Pit <vince@profvince.com>
Sun, 10 Jan 2010 00:25:58 +0000 (01:25 +0100)
Changes
META.yml
README
lib/autovivification.pm

diff --git a/Changes b/Changes
index dd93f87717bf452b320c6589a7b82149fec28f35..64273204d85c38abc913ad9494234549eaf1576a 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,9 @@
 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
index 5edfebbfdda05c1c22727c75960afd76ca3e2834..e1d00d5459e0c2817e9bade5d85ac2f95d1f6e28 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               autovivification
-version:            0.03
+version:            0.04
 abstract:           Lexically disable autovivification.
 author:
     - Vincent Pit <perl@profvince.com>
@@ -11,6 +11,7 @@ configure_requires:
 build_requires:
     ExtUtils::MakeMaker:  0
     Test::More:           0
+    XSLoader:             0
 requires:
     perl:      5.008
     XSLoader:  0
@@ -23,7 +24,8 @@ no_index:
     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
diff --git a/README b/README
index 2163a42b6db912538bc41006ca0540cd72bc58d9..4f119c5c5a9ababb4b902bbc486717bce88ba542 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
     autovivification - Lexically disable autovivification.
 
 VERSION
-    Version 0.03
+    Version 0.04
 
 SYNOPSIS
         no autovivification;
@@ -41,10 +41,11 @@ METHODS
 
         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'
 
@@ -92,6 +93,14 @@ METHODS
     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.
 
@@ -124,7 +133,7 @@ ACKNOWLEDGEMENTS
     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.
index 34bc74a9ec039d2108602ce110410d93fc6e835d..9d009a86756d96477e6ae45a4c0fc196212022f7 100644 (file)
@@ -11,13 +11,13 @@ autovivification - Lexically disable autovivification.
 
 =head1 VERSION
 
-Version 0.03
+Version 0.04
 
 =cut
 
 our $VERSION;
 BEGIN {
- $VERSION = '0.03';
+ $VERSION = '0.04';
 }
 
 =head1 SYNOPSIS