in reply to Re^2: my least favorite perl feature
in thread my least favorite perl feature

I'm not sure why \ $obj_var_a == \ $obj_var_b isn't good enough. It tests the 'same instance' equality without going off into Scalar::Util.


Seeking Green geeks in Minnesota

Replies are listed 'Best First'.
Re^4: my least favorite perl feature
by adrianh (Chancellor) on Feb 06, 2003 at 20:21 UTC

    Overloading == is the problem with that I'm afraid :-)

      I'll admit ignorance of overloading but wouldn't only apply if you went $obj_var_a == $obj_var_b? The snippet I showed took references to both and compared the address on the references. Wouldn't that bypass any == overloading because the newly created references aren't overloaded?


      Seeking Green geeks in Minnesota

        Remember: it's the referant, not the reference that's blessed - so taking a reference to $obj_var_a can give you an object that overloads ==. Consider:

        my $obj_var_a = 42; my $o = bless \$obj_var_a, 'OverloadedClass'; my $ref = \$obj_var_a; print "overloaded" if $ref->isa('OverloadedClass');

        Don't you just love exceptions like this :-)