Regex /Perl : Match all instances of any string between two specified strings
<p>I need to find all strings that occur between the words "Close" and "Minor", for example, but the words "Close" and "Minor" occur many times in my string. How can I use regex to find all of the strings between each instance of "Close" and "Minor". Example:</p>

<p>In the text</p>

<pre><code>$string = "Minor fall major fifth Close to home Minors cannot vote before 18 Polls Close at 8";
</code></pre>

<p>I want to match</p>

<pre><code> fall major fifth
</code></pre>

<p>and </p>

<p><code>s cannot vote before 18 Polls</code></p>

<p>I have tried to use this:</p>

<pre><code>my @matches = $string =~ /Minor(.*) Close/gi;
</code></pre>

<p>but this matches</p>

<pre><code>Minor fall major fifth Close to home Minors cannot vote before 18 Polls Close
</code></pre>

<p>which matches the words themselves, and does not produce the desired match.</p>

<p>I'm so lost!</p>