Comment puis-je extraire une chaîne entre les accolades correspondantes dans Perl?

Mon fichier d'entrée est comme ci-dessous :

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

Je veux extraire le fichier dans un tableau comme ci-dessous :

$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}}}}
        }"

Ce qui signifie, j'ai besoin de correspondre à la première accolade d'ouverture avec son accolade de fermeture et d'en extraire la chaîne entre les deux.

J'ai vérifié le lien ci-dessous, mais cela ne s'applique pas à ma question.
Regex pour obtenir la chaîne entre accolades "{je veux ce qui est entre les accolades}"

Je suis en train d'essayer, mais aiderait vraiment si quelqu'un peut m'aider avec leur expertise ...

Merci
Sri ...

source d'informationauteur Srilesh