Thread In while Schleife vorherige Zeile ermitteln
(4 answers)
Opened by Mat at 2011-08-31 17:04
Ich verstehe Deine Angaben nicht so ganz. So habe ich es eingangs verstanden.
Mein Lösungsansatz: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #... # Datenstrom zeilenweise lesen while ( my $line = <DATA> ) { # Felder auftrennen (zum Testen vereinfacht und Zeilenumbruch rausgeworfen) my ( $start, $message ) = split /::|\n/, $line; # Feld "Message" wird nur ausgegeben, wenn es NICHT in den letzten 10 Zeilen enthalten war # Zur Kontrolle geben wir auch mal die letzten 10 "Message"s aus # und auch die Nummer der aktuellen "Message" print "$start : $message | @messages\n" unless grep { $message eq $_ } @messages; # aktuelle "Message" merken push @messages, $message; # aelteste "Message" loeschen, wenn es mehr als 10 geworden sind (FIFO) shift @messages if 10 < @messages; } __DATA__ 01::Anton 02::Berta 03::Caesar 04::Berta 05::Berta 06::Caesar 07::Berta 08::Berta 09::Caesar 10::Berta 11::Berta 12::Caesar 13::Berta 14::Berta 15::Caesar 16::Berta 17::Berta 18::Caesar 19::Berta 20::Dora 21::Berta 22::Caesar 23::Berta 24::Dora 25::Berta 26::Caesar 27::Berta 28::Dora 29::Berta 30::Caesar 31::Berta 32::Dora 33::Anton Last edited: 2011-08-31 23:07:04 +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! |