Thread RegEx: mal wieder...
(15 answers)
Opened by pktm at 2004-12-29 21:31
Du kannst doch erst nach \n splitten danach wieder nach \t. scalar @values sagt Dir dann wie viele Felder mit mit \t getrennt waren.
Code: (dl
)
1 foreach my $zeile ( split/\n/, $rec_db ) { In Deinem regulären Ausdruck [\w* ] ist * kein Wiederholungsfaktor, sondern es ist durch die [] eine Zeichenklasse mit dem Inhalt \w, * und Leerzeichen, es hätte vielleicht [\w ]* heißen sollen. Mit der Zeile $zeile =~ s/\|/\t/g; machst Du | gleichwertig zu \t. Dann kannst Du aber auch gleich my @values = split /[\t|]/, $zeile; oder my @values = split /\t|\|/, $zeile; schreiben. Willst Du auch noch Leerzeichen links und rechts eben dem Seperator \t oder | zulassen, geht dann auch: my @values = split / *[\t|] */, $zeile;\n\n <!--EDIT|steffenw|1072786878--> $SIG{USER} = sub {love 'Perl' or die};
|