From: Jarkko Hietaniemi Date: Thu, 13 Jun 2002 13:55:08 +0000 (+0000) Subject: Document the tied/magical/shared array/hash non-autovivifying bug. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=58122748fa6aa7e7bdd6f66fdd58e4e6f37e79f1;p=p5sagit%2Fp5-mst-13.2.git Document the tied/magical/shared array/hash non-autovivifying bug. p4raw-id: //depot/perl@17221 --- diff --git a/ext/threads/shared/shared.pm b/ext/threads/shared/shared.pm index c92bfe5..eeb9984 100644 --- a/ext/threads/shared/shared.pm +++ b/ext/threads/shared/shared.pm @@ -190,6 +190,10 @@ implemented in a future version of Perl. Does not support splice on arrays! +Taking references to the elements of shared arrays and hashes does not +autovivify the elements, and neither does slicing a shared array/hash +over non-existent indices/keys autovivify the elements. + =head1 AUTHOR Arthur Bergman Earthur at contiller.seE diff --git a/pod/perldelta.pod b/pod/perldelta.pod index c1f08fe..42e5dbf 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -3337,6 +3337,15 @@ behaviour may be fixed at a later date. Self-tying of scalars and IO thingies works. +=head2 Tied/Magical Array/Hash Elements Do Not Autovivify + +For normal arrays C<$foo = \$bar[1]> will assign C to +C<$bar[1]> (assuming that it didn't exist before), but for +tied/magical arrays and hashes such autovivification does not happen +because there is currently no way to catch the reference creation. +The same problem affects slicing over non-existent indices/keys of +a tied/magical array/hash. + =head2 Building Extensions Can Fail Because Of Largefiles Some extensions like mod_perl are known to have issues with