| 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}; |