]> git.vpit.fr Git - perl/modules/autovivification.git/blobdiff - README
This is 0.18
[perl/modules/autovivification.git] / README
diff --git a/README b/README
index 7d750e7808d1437e2e9f1ff45299340f0d8e37cf..22adc68d4cc7432abfffecac801aea6e2e3158ca 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
     autovivification - Lexically disable autovivification.
 
 VERSION
-    Version 0.11
+    Version 0.18
 
 SYNOPSIS
         no autovivification;
@@ -36,8 +36,8 @@ METHODS
   "unimport"
         no autovivification; # defaults to qw<fetch exists delete>
         no autovivification qw<fetch store exists delete>;
-        no autovivification 'warn';
-        no autovivification 'strict';
+        no autovivification warn   => @categories;
+        no autovivification strict => @categories;
 
     Magically called when "no autovivification @opts" is encountered.
     Enables the features given in @opts, which can be :
@@ -101,11 +101,21 @@ METHODS
 
     *   'warn'
 
-        Emits a warning when an autovivification is avoided.
+        Emits a warning when an autovivification is avoided for the
+        categories specified in @opts.
+
+        Note that "no autovivification 'warn'" currently does nothing by
+        itself, in particular it does not make the default categories warn.
+        This behaviour may change in a future version of this pragma.
 
     *   'strict'
 
-        Throws an exception when an autovivification is avoided.
+        Throws an exception when an autovivification is avoided for the
+        categories specified in @opts.
+
+        Note that "no autovivification 'strict'" currently does nothing by
+        itself, in particular it does not make the default categories die.
+        This behaviour may change in a future version of this pragma.
 
     Each call to "unimport" adds the specified features to the ones already
     in use in the current lexical scope.
@@ -138,6 +148,11 @@ CONSTANTS
     where it is false for perl 5.10.0 and below.
 
 CAVEATS
+    Using this pragma will cause a slight global slowdown of any subsequent
+    compilation phase that happens anywere in your code - even outside of
+    the scope of use of "no autovivification" - which may become noticeable
+    if you rely heavily on numerous calls to "eval STRING".
+
     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 is discouraged
@@ -145,13 +160,17 @@ CAVEATS
     context. If warnings are turned on, Perl will complain about one-element
     slices.
 
+    Autovivifications that happen in code "eval"'d during the global
+    destruction phase of a spawned thread or pseudo-fork (the processes used
+    internally for the "fork" emulation on Windows) are not reported.
+
 DEPENDENCIES
     perl 5.8.3.
 
     A C compiler. This module may happen to build with a C++ compiler as
     well, but don't rely on it, as no guarantee is made in this regard.
 
-    XSLoader (standard since perl 5.006).
+    XSLoader (standard since perl 5.6.0).
 
 SEE ALSO
     perlref.
@@ -173,14 +192,12 @@ SUPPORT
 
         perldoc autovivification
 
-    Tests code coverage report is available at
-    <http://www.profvince.com/perl/cover/autovivification>.
-
 ACKNOWLEDGEMENTS
     Matt S. Trout asked for it.
 
 COPYRIGHT & LICENSE
-    Copyright 2009,2010,2011,2012,2013 Vincent Pit, all rights reserved.
+    Copyright 2009,2010,2011,2012,2013,2014,2015,2017 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.