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.
bizarre grammar exceptions in when() conditions
,What I don't like is the massive number of things that go on the right-hand side of a ~~
,nor the way that the dispatch is based on both the left and right sides
,This table is very, very easy for anyone to memorize, unlike the current table.
and a few others)... – yannis Dec 01 '11 at 16:20