Tom: Reg.Expr.->Treffer->welche Zeile?

Hi,

gibt es die Möglichkeit, den Ort eines Treffers rauszufinden?

$variable =~ /hallo/ig;

sagt mir, DASS "hallo" irgendwo steht, mich würde aber auch die Zeile (vielleicht sogar Spalte) interessieren.
Müßte ich dann, falls es gefunden wird wirklich Zeile für Zeile durchzählen? Das kostet ja Performance...

Danke für jeden Tip!

Gruß
Tom

  1. Hallo,

    gibt es die Möglichkeit, den Ort eines Treffers rauszufinden?

    ja, mit der Funktion pos .....

    mich würde aber auch die Zeile (vielleicht sogar Spalte) interessieren.

    ... aber das ist nicht so ohne eigene Logik möglich. Zeilen sind bei der Stingverarbeitung ein abstakter Begriff, der nur zufällig in den meisten Fällen durch ein \n repräsentiert wird.

    Danke für jeden Tip!

    mit dem Inhalt von $PREMATCH (bzw. $`) und vielleicht ein split, etwas scalar() und length() sollte sich leicht die Zeile und Spalte bestimmen lassen, an der der Treffer gelandet wurde.

    Grüße
      Klaus