package overload;
-our $VERSION = '1.24';
+our $VERSION = '1.25';
%ops = (
with_assign => "+ - * / % ** << >> x .",
=item * I<Assignments>
+= -= *= /= %= **= <<= >>= x= .=
- &= |= ^=
+ &= |= ^= &.= |.= ^.=
Simple assignment is not overloadable (the C<'='> key is used
for the L<Copy Constructor>).
=item * I<Non-mutators with a mutator variant>
+ - * / % ** << >> x .
- & | ^
+ & | ^ &. |. ^.
As described L<above|"Calling Conventions and Magic Autogeneration">,
Perl may call methods for operators like C<+> and C<&> in the course
And other assignment variations are analogous to
C<'+='> and C<'-='> (and similar to C<'.='> and C<'x='> above):
- operator || *= /= %= **= <<= >>= &= ^= |=
- -------------------||--------------------------------
- autogenerated from || * / % ** << >> & ^ |
+ operator || *= /= %= **= <<= >>= &= ^= |= &.= ^.= |.=
+ -------------------||-------------------------------------------
+ autogenerated from || * / % ** << >> & ^ | &. ^. |.
Note also that the copy constructor (key C<'='>) may be
autogenerated, but only for objects based on scalars.
+ - * / % ** << >> x
<=> cmp
- & | ^ ~
+ & | ^ ~ &. |. ^. ~.
atan2 cos sin exp log sqrt int
"" 0+ bool
~~
Perl.)
If a package uses overload, it carries a special flag. This flag is also
-set when new function are defined or @ISA is modified. There will be a
+set when new functions are defined or @ISA is modified. There will be a
slight speed penalty on the very first operation thereafter that supports
overloading, while the overload tables are updated. If there is no
overloading present, the flag is turned off. Thus the only speed penalty