|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
print matching
|
Seitenanfang |
| Hallo zusammen, habe folgendes Problem. Hab eine txt Datei aus der ich bestimmte Werte einer Zeile matchen möchte und anschließend diese filtern und umsortiert ( von der Reihenfolge her gesehen) ausgeben möchte. Mein bisheriger "Versuch" sieht bisher so folgendermaßen aus: # hier soll er matchen,was er ja scheinbar auch macht und anschließend die gefunden Matches ausgeben, was er bisher nicht macht. for (@File) { open (DAT,'>>match.txt'); @my = /(\w{3} )(\d{1,2} )(\d{2}:\d{2}:\d{2} )/; $1 = @aa; $2 = @bb; $3 = @cc; print DAT "$3,$1,$2"; }
Das Problem ist, dass er keine Werte ausgibt. Wahrschl. fehlt noch etwas, damit er die gefunden Ausdrücke initialisieren kann. Nur was??????? Wäre um jeden hilfreichen Beitrag sehr erfreut. Gruss
Datum: 08.03.2007-15:20

|
re: print matching
|
Seitenanfang |
Perl: Allgemeines Forum zur Forenübersichtprint matching älterer Beitrag zur Themenübersicht neuerer Beitrag Themensuche Themenansicht in Thread-Modus Themenansicht in Komplett-Modus Hallo zusammen, habe folgendes Problem. Hab eine txt Datei aus der ich bestimmte Werte einer Zeile matchen möchte und anschließend diese filtern und umsortiert ( von der Reihenfolge her gesehen) ausgeben möchte. Mein bisheriger "Versuch" sieht bisher so folgendermaßen aus: # hier soll er matchen,was er ja scheinbar auch macht und anschließend die gefunden Matches ausgeben, was er bisher nicht macht. for (@File) { open (DAT,'>>match.txt'); @File = /(\w{3} )(\d{1,2} )(\d{2}:\d{2}:\d{2} )/; $1 = @aa; $2 = @bb; $3 = @cc; print DAT "@aa,@bb,@cc"; } Das Problem ist, dass er keine Werte ausgibt. Wahrschl. fehlt noch etwas, damit er die gefunden Ausdrücke initialisieren kann. Nur was??????? Wäre über jeden hilfreichen Beitrag sehr erfreut. Gruss Hier nochmal die verbesserte Variante. Bei der Anderen sind mir noch ein paar Fehler aufgefallen.
Datum: 08.03.2007-15:28

|
re: print matching
|
Seitenanfang |
| Hallo alex, ohne die fette Peilung zu haben versuch ichs mal: 1. @my = /(\w{3} )(\d{1,2} )(\d{2}:\d{2}:\d{2} )/; => falls du hier suchen willst würde ich erst mal statt '=' '=~' setzen (Suchoperator). Desweiteren verstehe ich @my nicht, falls du die durchlaufenden ZEilen meinst vielleicht besser $_, also $_ =~ /(...)/; dann sucht er aus jeder Zeile deine Suchoption. 2. $1 = @aa; vielleicht möchtest du hier mit $1 den Inhalt von (\w{3} ) einer Variablen zuweisen, warum dann array ? Vorschlag: $a = $1; (...) und dann print DAT "$c,$a,$b"; Sollten dann zumindest schonmal Werte erscheinen. Gruß, r
Datum: 11.03.2007-19:20

|
|

|

|

|
 |

|

|
|