Thread while Schleife arbeitet nicht (11 answers)
Opened by geloescht at 2012-06-26 21:48

geloescht
 2012-06-26 21:48
#159399 #159399
User since
2012-06-19
141 Artikel
BenutzerIn
[default_avatar]
Abend Leute

Ich hab hier einen Code, der nur in Verbindung mit Push funktioniert. Keine Ahnung warum.

Das Codestückchen sollte die Datei "incoming.csv" öffnen und eine Zeile (Datensatz) auslesen, durch den if-Vergleich schicken, wenn keine Übereinstimmung, nächste Zeile auslesen. usw...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
open(FILEMANAGER, "<coresys/incoming.csv") or die "ERROR: Unable to open the IC-file during read-access!";
flock(FILEMANAGER, LOCK_EX);
my $DeltaMinuten = "";

while(! eof(FILEMANAGER)){
my $zeile = <FILEMANAGER>;
my ($DB_customstorycode, $DB_headline, $DB_benutzergeschichte, $DB_zaehler, $DB_internetpost, $DB_tbgelesen, $DB_IPAdresse, $DB_Monatstag, $DB_Monat, $DB_Jahr, $DB_Stunden, $DB_Minuten, $DB_Sekunden, $DB_clientdatakey) = split(/;/,$zeile);
$DeltaMinuten = ($Minuten - $DB_Minuten);
if ($DB_IPAdresse eq $IPAdresse and $DB_Monatstag eq $Monatstag and $DB_Monat eq $Monat and $DB_Jahr eq $Jahr and $DB_Stunden eq $Stunden and $DeltaMinuten < 5) {
close(FILEMANAGER);
goto TimeLock;
}
close(FILEMANAGER);
}


Den Skalar $DeltaMinuten musste ich aus der while-Klammer auslagern. Sonst kann ich wo anders im Code nicht darauf zugreifen. Scheinbar macht Perl einen Unterschied, ob die Variable - pardon - Skalar, in einer geschweiften Klammer definiert wird, oder nicht. Das nur am Rande.

Dieser Code funktioniert in einem anderen Programm - nur eben mit push. Das kann doch nicht sein, das man "pushen" muss um jede Zeile einzeln zu bekommen?

Ich hab mir auch schon die Dateiberechtigungen angesehen. 644 ist doch völlig ausreichend.

Hier die...

[url=http://]Testseite[/url]

Eingaben für Testbetrieb:

Storycode: KG123J
Titel: blablabla(egal)
Text: blablabla(egal)
E-Mail: bla@bla.de (muss nur "@" und "." drin sein)
Teilnahmebedingungen: abhaken(Haken setzen)
Spamschutzcode: 21026062 (gilt nur für heute)

Bei der Ausgabe (Antwort von Perl) kann man sehen, daß der Wert "Minuten(speicher)" leer ist. Das heißt trotz vorhandenen Werten in der csv-Datei, liest er nix!

Gruß HP-User

modedit Editiert von GwenDragon: URL gelöscht auf Wunsch
Last edited: 2012-10-05 12:58:36 +0200 (CEST)
Past brought us "SYS 64738". Present brought us "ctrl+alt+del". But what will future bring?

View full thread while Schleife arbeitet nicht