summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-07-21 23:18:44 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-07-21 23:44:17 -0700
commit7ffa7e7540d4523072b049e2d1285c34faabeeb9 (patch)
treed071fe530bd6712b5576ac342d3087e4a9fac0ac /pod
parentabcb810c88ac3af57afe0fd06c1c339f104b10f9 (diff)
downloadperl-7ffa7e7540d4523072b049e2d1285c34faabeeb9.tar.gz
Don’t call get-magic twice for sym refs
Dereferencing ops (${}, etc.) were calling get-magic on their operand twice if it was a symbolic reference, except for &{}. This commit fixes that, adding tests for all the deref ops, including &{}, for good measure.
Diffstat (limited to 'pod')
-rw-r--r--pod/perldelta.pod7
1 files changed, 7 insertions, 0 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index d03695a973..944a7b874d 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -365,6 +365,13 @@ effects like C<ref \$_> returning "CODE" in some instances.
C<lock>'s prototype has been corrected to C<(\[$@%*])> from C<(\$)>, which
was just wrong.
+=item *
+
+Most dereferencing operators (C<${}>, etc.) used to call C<FETCH> twice on
+a tied operand when doing a symbolic dereference (looking up a variable by
+name, which is not permitted under C<use strict 'refs'>). Only C<&{}> did
+not have this problem. This has been fixed.
+
=back
=head1 Known Problems