I don't have an answer for this at the moment which is why I proposed 40 hours of work to analyze the current implementation, look at the Raku implementation and then come up with simplified design that covers most of the cases people have been using given/when for in Perl 5

Also, in the grant proposal I stated that the most qualified person for this is probably Switch.pm author, but perhaps some other qualified volunteer is able and willing to do it.

I would volunteer but not before fully understanding the flaws of the current design, perhaps something we can hash out in this thread at least. I have personally used given/when in it's simple full match form, easily replaceable by if ($foo eq 'bar') elsif, elsif, else. But maybe a lot of people used the advanced smart matching which is where I believe the current implementation is flawed. But I am not sure, because I never used any of these advanced features of given/when and I suspect most people didn't either.

Maybe we should also hold a poll to see if people used given/when for more than just a simple matching switch.


In reply to Re^2: Endorsement from committer to submit TPF Grant Application to add given/when to Switch.pm by ait
in thread Endorsement from committer to submit TPF Grant Application to add given/when to Switch.pm by ait

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.