Gerd: Problem mit RegEx und Ersetzen

Beitrag lesen

Hallo, ich habe seit zwei Stunden ein RegEx-Ersetzungsproblem.

Innerhalb eines Textes $text können mehrfach Zeichenfolgen innerhalb einer öffnenden und schliessenden geschweiften Klammer auftauchen:

... {Berlin, Bremen} .... {Rom - Pisa} .... {Castrop<br> Rauxel} ...

Sofern innerhalb der geschweiften Klammern jedoch eine bestimmte Zeichenfolge, z.B. <br> auftaucht, soll <br> ersatzlos gelöscht werden, und zwar jedesmal. Aus der obigen Zeile soll also werden:
... {Berlin, Bremen} .... {Rom - Pisa} .... {Castrop Rauxel} ...

Meine Anweisung haut jedoch nicht hin:

$text =~ s/{(.*?)<br>(.*?)}/{$1$2}/g;

Oder genauer: das haut nur hin, wenn in $text eine einzige Zeichenfolge der Art
{xyz <br> xyz}
auftaucht, sobald dort mehrere stehen klappt es nicht mehr.
Aber wieso? Ich habe doch ein "g" hinter die Ersetzungs-Anweisung drangehängt?
Bin ziemlich ratlos, mache ich einen Denkfehler?