Tobias F.: RegExp Klammern Escapen?

Beitrag lesen

Hier ist mein Code:

sub highlight_predicate {
    my $predicate = shift;
    my $handle = shift;
    if (defined $predicate) {
        $handle =~ s/$predicate/<span style="background-color: #8AFF99;" class="highlight">$1</span>/
    }
    return $handle;
}

Mein Problem ist nun folgendes:
Bei $predicate und $handle handelt es sich um Formeln. Diese können z.B. so aussehen

$handle = ¬ ¬ (X ∧ (X ⇒ X))
§predicate = (X ⇒ X)

Jetzt soll halt das Prädikat mithilfe von CSS eingefärbt werden. Dies Funktioniert leider nicht immer.

$handle = ¬ ¬ (X ∧ X)
$prediacte = ¬ ¬ (X ∧ X)

Bei diesem Beispiel tut sich garnichts. Ich gehe stark davon aus, dass ich vielleicht die Klammern escapen muss. Allerdings habe ich damit nur komisch Fehler produziert.

Vielleicht hat ja einer von euch eine Idee, wie ich das lösen kann.

Schonmal Vielen Dank
mfg  Tobi