Well, how would you say that in English?

Something like "Stop if the difference between the position of the element we're on and the length of the array is smaller than the length of the window we want", right? So in Perl that might be as simple as:

last if $elements - $offset < 3;
Which will stop the whole loop as soon as it's true. Add it after the next statement and see what happens.

Edit: If you are really wanting to get a sliding subset of the array, you wouldn't want to use splice since as you can see it changes the original array and soon you have no elements left! But making a copy of the array each time through a loop, as I did in the example, is horribly inefficient, and the example is only designed to explain the use of splice, which is what the OP asked for ...

The way forward always starts with a minimal test.

In reply to Re^7: Sub-setting an Array by 1nickt
in thread Sub-setting an Array by kgherman

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.