+ # if ($contents !~ m|^$self->{tag_start_qm}if\s*(not)?\s+(.*?)$self->{tag_end_qm}|) {
+ if ($contents !~ m/^$self->{tag_start_qm}
+ \s*
+ (not|\!)? # $1 -- Eventuelle Negierung
+ \s*
+ ([^\s]+) # $2 -- Name der zu überprüfenden Variablen
+ ( # $3 -- Beginn des optionalen Vergleiches
+ \s*
+ ([!=])= # $4 -- Art des Vergleiches speichern
+ \s*
+ ( # $5 -- Gequoteter String oder Bareword
+ "(.*)(?<!\\)" # $6 -- Gequoteter String -- direkter Vergleich mit eq bzw. ne; Escapete Anführungs als Teil des Strings belassen
+ |
+ ([^\s]+) # $7 -- Bareword -- als Index für $form benutzen
+ )
+ )?
+ \s*
+ $self->{tag_end_qm}
+ /x) {