title: How can I extract a string between matching braces in Perl?
body: <p>My input file is as below :</p>
  
  <pre><code>HEADER 
  {ABC|*|DEF {GHI 0 1 0} {{Points {}}}}
  
  {ABC|*|DEF {GHI 0 2 0} {{Points {}}}}
  
  {ABC|*|XYZ:abc:def {GHI 0 22 0} {{Points {{F1 1.1} {F2 1.2} {F3 1.3} {F4 1.4}}}}}
  
  {ABC|*|XYZ:ghi:jkl {JKL 0 372 0} {{Points {}}}}
  
  {ABC|*|XYZ:mno:pqr {GHI 0 34 0} {{Points {}}}}
  
  {
      ABC|*|XYZ:abc:pqr {GHI 0 68 0}
          {{Points {{F1 11.11} {F2 12.10} {F3 14.11} {F4 16.23}}}}
          }
  TRAILER
  </code></pre>
  
  <p>I want to extract the file into an array as below :</p>
  
  <pre><code>$array[0] = "{ABC|*|DEF {GHI 0 1 0} {{Points {}}}}"
  
  $array[1] = "{ABC|*|DEF {GHI 0 2 0} {{Points {}}}}"
  
  $array[2] = "{ABC|*|XYZ:abc:def {GHI 0 22 0} {{Points {{F1 1.1} {F2 1.2} {F3 1.3} {F4 1.4}}}}}"
  
  ..
  ..
  
  $array[5] = "{
      ABC|*|XYZ:abc:pqr {GHI 0 68 0}
          {{Points {{F1 11.11} {F2 12.10} {F3 14.11} {F4 16.23}}}}
          }"
  </code></pre>
  
  <p>Which means, I need to match the first opening curly brace with its closing curly brace and extract the string in between.</p>
  
  <p>I have checked the below link, but this doesnt apply to my question.
  <a href="https://stackoverflow.com/questions/413071/regex-to-get-string-between-curly-braces-i-want-whats-between-the-curly-braces">Regex to get string between curly braces &quot;{I want what&#39;s between the curly braces}&quot;</a></p>
  
  <p>I am trying but would really help if someone can assist me with their expertise ...</p>
  
  <p>Thanks
  Sri ...</p>