]> git.vpit.fr Git - perl/modules/autovivification.git/blobdiff - lib/autovivification.pm
Warn about the global slowdown
[perl/modules/autovivification.git] / lib / autovivification.pm
index 019fc664066384a634b80548d257c6867eb760a2..f7ddbe711facd13a0e500f5dbc8e58d7cb127a7d 100644 (file)
@@ -1,6 +1,6 @@
 package autovivification;
 
-use 5.008003;
+use 5.008_003;
 
 use strict;
 use warnings;
@@ -11,13 +11,13 @@ autovivification - Lexically disable autovivification.
 
 =head1 VERSION
 
-Version 0.10
+Version 0.12
 
 =cut
 
 our $VERSION;
 BEGIN {
- $VERSION = '0.10';
+ $VERSION = '0.12';
 }
 
 =head1 SYNOPSIS
@@ -200,10 +200,14 @@ This constant will always be true, except on Windows where it is false for perl
 
 =head1 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 C<no autovivification> - which may become noticeable if you rely heavily on numerous calls to C<eval STRING>.
+
 The pragma doesn't apply when one dereferences the returned value of an array or hash slice, as in C<< @array[$id]->{member} >> or C<< @hash{$key}->{member} >>.
 This syntax is valid Perl, yet it is 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.
 
+Autovivifications that happen in code C<eval>'d during the global destruction phase of a spawned thread or pseudo-fork (the processes used internally for the C<fork> emulation on Windows) are not reported.
+
 =head1 DEPENDENCIES
 
 L<perl> 5.8.3.
@@ -211,7 +215,7 @@ L<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.
 
-L<XSLoader> (standard since perl 5.006).
+L<XSLoader> (standard since perl 5.6.0).
 
 =head1 SEE ALSO