Thread Auslesen und Parsen einer Datei
(23 answers)
Opened by Ando at 2009-05-04 19:40
Nein, die Modifier werden direkt aneinander geschrieben; also:
ich hab mal den code der while schleife zusammen gefasst. so müsste er die gleiche aufgabe erledigen ohne mehrmalig die gleiche Regex zu bauen und zu verarbeiten (keine Gewähr, bei meinem Test sah das Ergebnis gut aus ;) ): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # xml-tags suchen while ( my ( $tagName ) = $xml =~ /<([a-zA-Z0-9\-_]+)>/ ) { # versuche ein tag mit schliessendem tag zu entfernen, # speichere dabei den gefundenen tag-inhalt im hash ab if ( $xml =~ s/<$tagName>(.*?)<\/$tagName>//is ) { $xml{ lc($tagName) } = $1; } # ansonsten loesche startendes tag (da kein ende-tag vorhanden) else { $xml =~ s/<$tagName>//; } } edit1: Zeile 06: (.+?) durch (.*?) ersetzt! edit2: Zeile 11: s/$tagName//; duch s/<$tagName>//; ersetzt! edit3: edits editiert Last edited: 2009-05-04 21:43:17 +0200 (CEST) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |