http://qs321.pair.com?node_id=11146510


in reply to Limit loop

TIMTOWTDI:

  • use the LIMIT term of split: @favs = split /~~~/,$favorites, 25;
  • use a counter inside the loop, and last when the counter is above 25: state $counter=0; last if ++$counter>=25;
  • Replies are listed 'Best First'.
    Re^2: Limit loop
    by pryrt (Abbot) on Aug 30, 2022 at 21:55 UTC
      To nitpick my own: the split-with-LIMIT put all the remaining favorites with ~~~ between (#25-30 in my example) in slot#25, which isn't what I intended. I changed the limit to 26, then dropped the last element if there were more than 25.

      The code below shows that failure, plus the fixed version, plus the working counter-based solution.