Tim Walter: ReExp

Beitrag lesen

Hallo Liste

ich habe eine csv Datei in art eines baums, wo aber leider einige verzweigungen doppelt sind.

sieht etwa so aus:
doof;test1;test1;drei
test2;test2;hans;hans;vier
test3;test3;test3;fuenf
test4;test4;hans;peter
karl;tut;tut;lisa
tim;tim ist doof

mein plan ist jeztt die datei zu durchlaufen und alle n-fachen zu entfernen. ergebnis sollte sein:
doof;test1;drei
test2;hans;vier
test3;fuenf
test4;hans;peter
karl;tut;lisa
tim;ist doof

aber ich hab da mit meinen lösungen noch nicht so den erfolg gehabt.
bei der letzten zeile müsste man wohl auch bedenken, das er von hinten anfängt auszutauschen.

mein ansatz war so in der art:
$line=";".$line;
if($line=~m/(;[^;]+){2}/i)
{
  $line=~s/$1//i;
}

der sammelt aber nur die doppelten weg und leider von vorne.
sieht dann nur so aus:
doof;test1;drei
test2;hans;hans;vier
test3;test3;fuenf
test4;hans;peter
karl;tut;lisa
tim ist doof

kann mir einer helfen, oder zumindest mal eine ordentliche (bitte deutschsprachige) Seite nennen, wo man in die irrsinnigen weissheiten des pattern matching eingeführt wird.

Danke ..

cu Tim