Klit: Regulärer Ausruck gesucht

Beitrag lesen

Guten Tag,

ich komme nicht weiter mit einem regulären Ausdruck.

Ich habe eine Datei:

  
PID  PUK	TASK	NAME	SEQ%  
000  POLN  17	Katze	-  
001  POLN   1  Dummer Name mit Leerzeichen LN  
002  PO MN 55	TEST 12  

Nun möchte ich folgendes Wissen:
$1 = PID
$2 = PUK
$3 = TASK
$4 = NAME
$5 = SEQ%

Leider sind sowohl im "Name" als auch im "PUK" Leerzeichen möglich, welche auch als Trenner fungieren.

Ich dachte ich hab die Lösung gefunden indem ich mit "?" arbeite um es nicht gierig zu machen. Dennoch klappt das nicht.
$line =~ /^(\w+)\s+([\s\w]*?\w+)\s+(\w+)\s+([\s\w]*?\w+)\s+([\%\w]+)$/;

Und es kommt sowas raus wie:
$1 = 001
$2 = POLN
$3 = 1
$4 = Dummer
$5 = Name

Danke für Hilfe.

Grüsse
Klit