title: Is there a Perl equivalent of Python's re.findall/re.finditer (iterative regex results)?
body: <p>In Python compiled regex patterns <a href="http://docs.python.org/library/re.html#re.findall" rel="noreferrer">have a <code>findall</code> method</a> that does the following:</p>
  
  <blockquote>
    <p>Return all non-overlapping matches of
    pattern in string, as a list of
    strings. The string is scanned
    left-to-right, and matches are
    returned in the order found. If one or
    more groups are present in the
    pattern, return a list of groups; this
    will be a list of tuples if the
    pattern has more than one group. Empty
    matches are included in the result
    unless they touch the beginning of
    another match.</p>
  </blockquote>
  
  <p>What's the canonical way of doing this in Perl? A naive algorithm I can think of is along the lines of "while a search and replace with the empty string is successful, do [suite]". I'm hoping there's a nicer way. :-)</p>
  
  <p>Thanks in advance!</p>