(regex) pobiera całe wyrażenie z określonym słowem między 2 symbolami

Moje pytanie wygląda jak inne pytania w Stackoverflow, ale nie znalazłem dokładnie tego, czego szukałem.

Muszę odtworzyć całe wyrażenie zawierające konkretne słowo. Ta fraza występuje również między „>” i „<”.

Na przykład:

text:
 "<div>bla bla bla</div><div>blu blu GOLD blu</div><form> bla bla...."

What I need is:
 blu blu GOLD blu

Próbuję to zrobić w Perlu. Do tej pory mam:

$specific_word = GOLD;
while ($var=~/[>]?(?<phrase>(.*?)\Q$specific_word\E(.*?))</ig) {
   script.....
}

To, co otrzymuję z tym wyrażeniem regularnym, biorąc pod uwagę powyższy przykład, to:<div>bla bla bla</div><div>blu blu GOLD blu

Jak mogę znaleźć pierwsze „>” przed moim konkretnym słowem, a nie pierwsze „>” całego tekstu?

questionAnswers(2)

yourAnswerToTheQuestion