summaryrefslogtreecommitdiff
path: root/pod/perldiag.pod
diff options
context:
space:
mode:
Diffstat (limited to 'pod/perldiag.pod')
-rw-r--r--pod/perldiag.pod22
1 files changed, 14 insertions, 8 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 1b67ccde28..5f6ed837f1 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -2627,18 +2627,24 @@ You may wish to switch to using L<Math::BigInt> explicitly.
by that? lstat() makes sense only on filenames. (Perl did a fstat()
instead on the filehandle.)
-=item lvalue attribute cannot be removed after the subroutine has been defined
+=item lvalue attribute %s already-defined subroutine
-(W misc) The lvalue attribute on a Perl subroutine cannot be turned off
-once the subroutine is defined.
+(W misc) Although L<attributes.pm|attributes> allows this, turning the lvalue
+attribute on or off on a Perl subroutine that is already defined
+does not always work properly. It may or may not do what you
+want, depending on what code is inside the subroutine, with exact
+details subject to change between Perl versions. Only do this
+if you really know what you are doing.
=item lvalue attribute ignored after the subroutine has been defined
-(W misc) Making a Perl subroutine an lvalue subroutine after it has been
-defined, whether by declaring the subroutine with an lvalue attribute
-or by using L<attributes.pm|attributes>, is not possible. To make the subroutine an
-lvalue subroutine, add the lvalue attribute to the definition, or put
-the declaration before the definition.
+(W misc) Using the C<:lvalue> declarative syntax to make a Perl
+subroutine an lvalue subroutine after it has been defined is
+not permitted. To make the subroutine an lvalue subroutine,
+add the lvalue attribute to the definition, or put the C<sub
+foo :lvalue;> declaration before the definition.
+
+See also L<attributes.pm|attributes>.
=item Malformed integer in [] in pack