For what other pairings of data types does eq ignore type?
eq pays no attention to the type whatsoever. eq stringifies its operands and compares those strings.
>perl -le"print( undef eq '' )" 1 >perl -le"print( 123 eq '123' )" 1 >perl -le"$r=\$s; print( $r eq sprintf('SCALAR(0x%x)', 0+$r) )" 1 >perl -le"print( qr/a/ eq '(?-xism:a)' )" 1 etc
I know there is a way to overload operators but I was under the impression that one had to "use overload" to empower it
You use use overload to add overloading to a class, not to decide whether or not overloading will occur.
Regex pattern objects are magical. Overloading doesn't even come into play.
In reply to Re: What is the best way to compare variables so that different types are non-equal?
by ikegami
in thread What is the best way to compare variables so that different types are non-equal?
by ELISHEVA
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |