if (ref $r ne 'HASH' && ref $r ne 'ARRAY' && ref $r ne 'CODE' && ref $r ne 'SCALAR' && ref $r ne 'GLOB') #### my ($class,$type,$addr) = (overload::StrVal($r) =~ /^(?:(.*)\=)?([^=]*)\(([^\(]*)\)$/);