perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 29
Click for quality!




04.02.2012 / 14:26

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragprint 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

Beitragre: print matching
Seitenanfang


Perl: Allgemeines Forum zur Forenübersicht

print 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

Beitragre: 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

-






-
-