return sprintf("$class_prefix$type(0x%x)", $addr);
}
-sub StrVal {
- (ref $_[0] && Overloaded($_[0]) or ref($_[0]) eq 'Regexp') ?
- (AddrRef(shift)) :
- "$_[0]";
-}
+*StrVal = *AddrRef;
sub mycan { # Real can would leave stubs.
my ($package, $meth) = @_;
=head1 NAME
-overload - Package for overloading perl operations
+overload - Package for overloading Perl operations
=head1 SYNOPSIS
=item * I<Special>
- "nomethod", "fallback", "=",
+ "nomethod", "fallback", "=", "~~",
see L<SPECIAL SYMBOLS FOR C<use overload>>.
operation is not found. Three different cases are possible depending on
the value of C<"fallback">:
+=head2 Smart Match
+
+The key C<"~~"> allows you to override the smart matching used by
+the switch construct. See L<feature>.
+
=over 16
=item * C<undef>
=head1 Overloading constants
-For some application Perl parser mangles constants too much. It is possible
-to hook into this process via overload::constant() and overload::remove_constant()
-functions.
+For some applications, the Perl parser mangles constants too much.
+It is possible to hook into this process via C<overload::constant()>
+and C<overload::remove_constant()> functions.
These functions take a hash as an argument. The recognized keys of this hash
-are
+are:
=over 8