Roger: Reg Exp

Beitrag lesen

Hi,

ich hab folgende Strings:

X-A    ca  1  19  101 10     1   a1f SMPL blabla  
X-A    ca  1  19  102 10     1   281 H-Test blabla

Ich möchte nun jede Zeile die nicht SMPL enthält herausfiltern.
So funktioniert es:

if ($line =~ /[\w-]+\s+\w+\s+\w+\s+\w+\s+\w+\s+\w+\s+\w+\s+(\w+)/ && $line !~ /SMPL/)  
                {  
                print "$line => $1";  
                }

Meine Frage ist nun...
Warum geht es nicht so:

if ($line =~ /[\w-]+\s+\w+\s+\w+\s+\w+\s+\w+\s+\w+\s+\w+\s+(\w+)\s+(?!SMPL)/ )  
                {  
                print "$line => $1";  
                }

Danke für Aufklärung.
ciao,
Roger