I've seen a number of comments across the web Perl's smart-match operator is broken. I know it originally was part of Perl 6, then was implemented in Perl 5.10 off of an old version of the spec, and was then corrected in 5.10.1 to match the current Perl 6 spec.
Is the problem fixed in 5.10.1+, or are there other problems with the smart-match operator that make it troublesome in practice?
What are the problems?
Is there a yet-more-updated version (Perl 6, perhaps) that fixes the problems?
Edit: To clarify, I'm not asking about bugs, but rather the opinion that the intended behavior of ~~
is bad.