1 2 3 4 5 6 7 8 9 10 11
foreach $counter, $DB_nick, $DB_nachricht, $DB_zaehler, $DB_gbrgelesen, $DB_IPAdresse, $DB_Monatstag, $DB_Monat, $DB_Jahr, $DB_Stunden, $DB_Minuten, $DB_Sekunden (@Collector) { print <<"ENDE"; <div class="buch_eintrag"> <p class="textvariante_c">($counter) Name: $DB_nick [Datum: $DB_Monatstag.$DB_Monat.$DB_Jahr / $DB_Stunden:$DB_Minuten:$DB_Sekunden Uhr] </p> <p class="textvariante_d">$DB_nachricht. </p> </div> ENDE }
1 2 3 4 5 6 7 8 9 10 11 12
foreach my $array_ref (@Collector) { my ($counter, $DB_nick, $DB_nachricht, $DB_zaehler, $DB_gbrgelesen, $DB_IPAdresse, $DB_Monatstag, $DB_Monat, $DB_Jahr, $DB_Stunden, $DB_Minuten, $DB_Sekunden)=@$array_ref; print <<"ENDE"; <div class="buch_eintrag"> <p class="textvariante_c">($counter) Name: $DB_nick [Datum: $DB_Monatstag.$DB_Monat.$DB_Jahr / $DB_Stunden:$DB_Minuten:$DB_Sekunden Uhr] </p> <p class="textvariante_d">$DB_nachricht. </p> </div> ENDE }
1 2 3 4 5 6 7 8 9 10 11 12
foreach ( my $i=0; $i<@Collector; $i+=12) { my ($counter, $DB_nick, $DB_nachricht, $DB_zaehler, $DB_gbrgelesen, $DB_IPAdresse, $DB_Monatstag, $DB_Monat, $DB_Jahr, $DB_Stunden, $DB_Minuten, $DB_Sekunden)=@Collector[ $i .. $i+11 ]; print <<"ENDE"; <div class="buch_eintrag"> <p class="textvariante_c">($counter) Name: $DB_nick [Datum: $DB_Monatstag.$DB_Monat.$DB_Jahr / $DB_Stunden:$DB_Minuten:$DB_Sekunden Uhr] </p> <p class="textvariante_d">$DB_nachricht. </p> </div> ENDE }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
################################## # Read-Out-Engine / Buchausleser # ################################## open(LESER, "<coresys/message.csv") or die "ERROR: Unable to open the Message-file during read-access!"; flock(LESER, LOCK_SH); my @Collector; my $counter = 0; while(! eof(LESER)){ my $zeile = <LESER>; my ($DB_nick, $DB_nachricht, $DB_zaehler, $DB_gbrgelesen, $DB_IPAdresse, $DB_Monatstag, $DB_Monat, $DB_Jahr, $DB_Stunden, $DB_Minuten, $DB_Sekunden) = split(/;/,$zeile); $counter = ($counter + 1); push (@Collector, $counter, $DB_nick, $DB_nachricht, $DB_zaehler, $DB_gbrgelesen, $DB_IPAdresse, $DB_Monatstag, $DB_Monat, $DB_Jahr, $DB_Stunden, $DB_Minuten, $DB_Sekunden); }
2012-08-02T23:01:25 ?"unshift" ist bei dem vorliegenden Code die strategisch effektivste Methode. Hab "unshift" genommen - und das klappt wunderbar!
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
################################## # Read-Out-Engine / Buchausleser # ################################## # bitte das drei-Variablen-open benutzen. # Du schreibst ja keinen perl3 Code. # und bitte Richtige Variablen als Filehandle nutzen. # Das erspart dir einigen Ärger. # Das ist jetzt möglicherweise noch nicht wichtig # solltest du aber mal größere Scripte schreiben, # dann hast du dir die gute Schreibweise schon angewöhnt # und jetzt tut es nicht weh. open(my $LESER, '<', "coresys/message.csv") or die "ERROR: Unable to open the Message-file during read-access!"; flock($LESER, LOCK_SH); my @Collector; my $counter = 0; while(my $zeile = <$LESER>){ # "zeilelende" "\n" entfernen chomp($zeile); push (@Collector, [ ++$counter, split(/;/,$zeile) ]); } close($LESER);
1 2 3 4 5 6 7 8 9 10 11 12
foreach my $array_ref (@Collector) { my ($counter, $DB_nick, $DB_nachricht, $DB_zaehler, $DB_gbrgelesen, $DB_IPAdresse, $DB_Monatstag, $DB_Monat, $DB_Jahr, $DB_Stunden, $DB_Minuten, $DB_Sekunden)=@$array_ref; print <<"ENDE"; <div class="buch_eintrag"> <p class="textvariante_c">($counter) Name: $DB_nick [Datum: $DB_Monatstag.$DB_Monat.$DB_Jahr / $DB_Stunden:$DB_Minuten:$DB_Sekunden Uhr] </p> <p class="textvariante_d">$DB_nachricht. </p> </div> ENDE }