Move discussion of using tie and friends on * less scalars which hold globs
authorAbigail <abigail@abigail.be>
Mon, 14 Nov 2016 16:26:42 +0000 (17:26 +0100)
committerAbigail <abigail@abigail.be>
Mon, 16 Jan 2017 18:18:10 +0000 (19:18 +0100)
This was deprecated in 5.14, and fixed in 5.16. Hence, it's moved out
of pod/perldiag.pod, and added to pod/perldeprecation.pod.

pod/perldeprecation.pod
pod/perldiag.pod

index e518d40..931933f 100644 (file)
@@ -35,6 +35,22 @@ entries in L<POSIX> for more information.
 The functions were deprecated in perl 5.20.0, and removed in perl 5.24.0.
 
 
+=head2 Perl 5.16
+
+=head3 Use of %s on a handle without * is deprecated
+
+It used to be possible to use C<tie>, C<tied> or C<untie> on a scalar
+while the scalar holds a typeglob. This caused its filehandle to be
+tied. It left no way to tie the scalar itself when it held a typeglob,
+and no way to untie a scalar that had had a typeglob assigned to it.
+
+This was deprecated in perl 5.14.0, and the bug was fixed in perl 5.16.0.
+
+So now C<tie $scalar> will always tie the scalar, not the handle it holds.
+To tie the handle, use C<tie *$scalar> (with an explicit asterisk).  The same
+applies to C<tied *$scalar> and C<untie *$scalar>.
+
+
 =head1 SEE ALSO
 
 L<warnings>, L<diagnostics>.
index bd9814c..cbdcda6 100644 (file)
@@ -7018,17 +7018,6 @@ old way has bad side effects.
 it already went past any symlink you are presumably trying to look for.
 The operation returned C<undef>.  Use a filename instead.
 
-=item Use of %s on a handle without * is deprecated
-
-(D deprecated) You used C<tie>, C<tied> or C<untie> on a scalar but that scalar
-happens to hold a typeglob, which means its filehandle will be tied.  If
-you mean to tie a handle, use an explicit * as in C<tie *$handle>.
-
-This was a long-standing bug that was removed in Perl 5.16, as there was
-no way to tie the scalar itself when it held a typeglob, and no way to
-untie a scalar that had had a typeglob assigned to it.  If you see this
-message, you must be using an older version.
-
 =item Use of reference "%s" as array index
 
 (W misc) You tried to use a reference as an array index; this probably