Set::Object is a fantastic module, and it bugs me to see it at a mere 3.5/5. The documentation is great, the interface is really slick and easy to work with, and I've never had any problems. Definitely my go-to when I need to manipulate sets!
Whenever I need to index by object it's either this module or Tie::RefHash. When Tie::RefHash isn't necessary (there is no value at the end) usually i'm working with collections of objects where set operations helps clarify the code immensely.
Performance is also good, and then new ->weaken feature is simply delightful.