I guess we are talking about array slices in scalar context. Only in scalar context the array slices return last element. And this is the biggest difference between array slices and arrays. The arrays return the number of elements. I guess in this situation, there's no bug. The ~~ operator works with arrays, not with lists, and array slice is the list. Unfortunately perl documentation does not cover the case of using list as the argument for smart match. But looking at the functionality it is clear, that operator works in scalar context with the objects that are passed to it. As result, the list of scalars always returns the last scalar.

In reply to Re^2: bug? why does this ~~ smart match to an array slice fail? by andal
in thread bug? why does this ~~ smart match to an array slice fail? by flies

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.