match-simple
view release on metacpan or search on metacpan
lib/match/simple.pm view on Meta::CPAN
return if re::is_regexp( $obj );
if ( $obj->isa( 'Type::Tiny' ) ) {
return $obj->can( 'check' );
}
if ( my $match = $obj->can( 'MATCH' ) ) {
return $match;
}
if ( $] lt '5.010' ) { require MRO::Compat; }
else { require mro; }
my @mro = @{ mro::get_linear_isa( ref $obj ) };
for my $class ( @mro ) {
my $name = "$class\::(~~";
my $overload = do {
no strict 'refs';
exists( &$name ) ? \&$name : undef;
};
return $overload if $overload;
lib/match/smart.pm view on Meta::CPAN
return if re::is_regexp( $obj );
if ( $obj->isa( 'Type::Tiny' ) ) {
return $obj->can( 'check' );
}
if ( my $match = $obj->can( 'MATCH' ) ) {
return $match;
}
if ( $] lt '5.010' ) { require MRO::Compat; }
else { require mro; }
my @mro = @{ mro::get_linear_isa( ref $obj ) };
for my $class ( @mro ) {
my $name = "$class\::(~~";
my $overload = do {
no strict 'refs';
exists( &$name ) ? \&$name : undef;
};
return $overload if defined $overload;
( run in 2.900 seconds using v1.01-cache-2.11-cpan-b301d465b3d )