X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2Fautovivification.pm;h=f7ddbe711facd13a0e500f5dbc8e58d7cb127a7d;hb=e94f0772b780bffe53ab63672bc11f9c218cf967;hp=d1a07721d2bd5dffbf8feef94f9b691ae3b9c22b;hpb=9ef6276ffc1c3943d1b167876079649480efafd7;p=perl%2Fmodules%2Fautovivification.git diff --git a/lib/autovivification.pm b/lib/autovivification.pm index d1a0772..f7ddbe7 100644 --- a/lib/autovivification.pm +++ b/lib/autovivification.pm @@ -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 - which may become noticeable if you rely heavily on numerous calls to C. + 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'd during the global destruction phase of a spawned thread or pseudo-fork (the processes used internally for the C emulation on Windows) are not reported. + =head1 DEPENDENCIES L 5.8.3.