summaryrefslogtreecommitdiff
path: root/lib/overload.pm
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2018-06-01 10:50:15 -0600
committerKarl Williamson <khw@cpan.org>2019-05-25 22:15:23 -0600
commitbc801fb71eccb3a74c2d98eb3b0f768673ce92b2 (patch)
treed38d779ba11c9ea011d15ce069d5b7bf5b8fc008 /lib/overload.pm
parent464867937fe839656941a55bd5c823fcade11b99 (diff)
downloadperl-bc801fb71eccb3a74c2d98eb3b0f768673ce92b2.tar.gz
lib/overload.pm: Use L</Foo Bar>, not L<Foo Bar>
Diffstat (limited to 'lib/overload.pm')
-rw-r--r--lib/overload.pm30
1 files changed, 15 insertions, 15 deletions
diff --git a/lib/overload.pm b/lib/overload.pm
index f7d5d0f7cf..30f810b0a1 100644
--- a/lib/overload.pm
+++ b/lib/overload.pm
@@ -1,6 +1,6 @@
package overload;
-our $VERSION = '1.30';
+our $VERSION = '1.31';
%ops = (
with_assign => "+ - * / % ** << >> x .",
@@ -211,7 +211,7 @@ To overload built-in functions, see L<perlsub/Overriding Built-in Functions> ins
=head3 Declaration
Arguments of the C<use overload> directive are (key, value) pairs.
-For the full set of legal keys, see L<Overloadable Operations> below.
+For the full set of legal keys, see L</Overloadable Operations> below.
Operator implementations (the values) can be subroutines,
references to subroutines, or anonymous subroutines
@@ -274,7 +274,7 @@ For example, if C<$x> and C<$y> are C<Number>s:
Perl may also use C<minus()> to implement other operators which
have not been specified in the C<use overload> directive,
-according to the rules for L<Magic Autogeneration> described later.
+according to the rules for L</Magic Autogeneration> described later.
For example, the C<use overload> above declared no subroutine
for any of the operators C<-->, C<neg> (the overload key for
unary minus), or C<-=>. Thus
@@ -300,7 +300,7 @@ only to return the result of the subtraction:
Perl takes care of the assignment to $x.
In fact, such methods should I<not> modify their operands,
even if C<undef> is passed as the third argument
-(see L<Overloadable Operations>).
+(see L</Overloadable Operations>).
The same is not true of implementations of C<++> and C<-->:
these are expected to modify their operand.
@@ -354,7 +354,7 @@ arithmetic metaphor.
Note: the preceding paragraph describes what happens when
Perl autogenerates the copy constructor for an object based
on a scalar.
-For other cases, see L<Copy Constructor>.
+For other cases, see L</Copy Constructor>.
=head2 Overloadable Operations
@@ -417,7 +417,7 @@ evaluating an expression.
&= |= ^= &.= |.= ^.=
Simple assignment is not overloadable (the C<'='> key is used
-for the L<Copy Constructor>).
+for the L</Copy Constructor>).
Perl does have a way to make assignments to an object do whatever
you want, but this involves using tie(), not overload -
see L<perlfunc/tie> and the L</COOKBOOK> examples below.
@@ -575,7 +575,7 @@ then it will not be called again - avoiding infinite recursion.
nomethod fallback =
-See L<Special Keys for C<use overload>>.
+See L</Special Keys for C<use overload>>.
=back
@@ -663,7 +663,7 @@ C<'+='> and C<'-='> (and similar to C<'.='> and C<'x='> above):
Note also that the copy constructor (key C<'='>) may be
autogenerated, but only for objects based on scalars.
-See L<Copy Constructor>.
+See L</Copy Constructor>.
=head3 Minimal Set of Overloaded Operations
@@ -709,7 +709,7 @@ C<'+'>) result in a call
catch_all($a, 3, 1, '+')
-See L<How Perl Chooses an Operator Implementation>.
+See L</How Perl Chooses an Operator Implementation>.
=head3 C<fallback>
@@ -723,7 +723,7 @@ operator.
use overload "fallback" => 0, # ... ;
-This disables L<Magic Autogeneration>.
+This disables L</Magic Autogeneration>.
=item * C<undef>
@@ -737,12 +737,12 @@ autogenerated then, instead of issuing an error message, Perl
is allowed to revert to what it would have done for that
operator if there had been no C<use overload> directive.
-Note: in most cases, particularly the L<Copy Constructor>,
+Note: in most cases, particularly the L</Copy Constructor>,
this is unlikely to be appropriate behaviour.
=back
-See L<How Perl Chooses an Operator Implementation>.
+See L</How Perl Chooses an Operator Implementation>.
=head3 Copy Constructor
@@ -890,7 +890,7 @@ on the type of their operands.
As there is no way to instruct Perl to treat the operands as, e.g.,
numbers instead of strings, the result here may not be what you
expect.
-See L<BUGS AND PITFALLS>.
+See L</BUGS AND PITFALLS>.
=head2 Losing Overloading
@@ -1413,12 +1413,12 @@ the tables of operations, and change the code which fills %subr to
}
Since subroutines implementing assignment operators are not required
-to modify their operands (see L<Overloadable Operations> above),
+to modify their operands (see L</Overloadable Operations> above),
we do not need anything special to make C<+=> and friends work,
besides adding these operators to %subr and defining a copy
constructor (needed since Perl has no way to know that the
implementation of C<'+='> does not mutate the argument -
-see L<Copy Constructor>).
+see L</Copy Constructor>).
To implement a copy constructor, add C<< '=' => \&cpy >> to C<use overload>
line, and code (this code assumes that mutators change things one level