Gary: csv - Dateihandhabung

Beitrag lesen

Hi Struppi :-)

Verwende Funktionen, das ist übersichtlich.

Habe das gerade in deinem Link gesehen. mit B(); usw...
Werde ich auf jeden Fall genauer studieren!

Ich öffne und schliesse mehrmals die Gästebuchdatei. Weil es anders mit den Funktionen nicht geht.

Damit sind deine flocks überflüssig, dass hatte ich dir aber bereits erklärt.

Nein, während sie offen ist, ist die Datei für andere gesperrt. Ist sie zu, kann ja ein anderer Prozess die datei nutzen. Das erste Perlprog wartet dann eben bis das zweite Perlprog ferti ist. Kein Problem.

Es gibt bei mir zwei Scripte:

GuestBookManager->
Der vergleicht den letzen eintrag mit dem neusten, und schreibt die Daten, wenn sie korrekt sin ein.

GuestBookReader-> Der liest nur die Einträge aus und stellt sie online.

Alle beide nutzen die guest.csv-Datei je im ex-Modus. Bisher keine Probleme gehabt!

Ja, das wird z.b. hier alles erklrärt http://aktuell.de.selfhtml.org/artikel/cgiperl/scoping/

Gut, erklärt ist wohl zuviel gesagt. Ich finde sehr abstrakt. Also was ich davon geistig mitgenommen habe:

---------------------------------------------------------------------------
my->
erzeugt eine Variable, die nur innerhalb einer Funktion ihre Gültigkeit hat.
---------------------------------------------------------------------------
local->
erzeugt eine Variable, die im ganzen Script ihre Gültigkeit hat.
---------------------------------------------------------------------------

Jetzt kommt der schwierige Teil: Hatte local $Var vorher einen Wert (Bsp.A), und wird dieser Wert durch einen anderen neuen ersetzt (Bsp. B), steht zunächst der neue Wert (B)in der local $Var. Wir der neue Wert gebraucht oder ausgelesen, steht dann wieder der alte Wert (A) drin? Oder wie ist das mit dem Beispiel gemeint. Ist es tatsächlich so, wäre das Schwachsinn. Denn _ich_ weise einen Wert in die Variable und der hat solange dort zu bleiben, bis _ich_ ihn durch was auch immer ersetze!

Ganz allgemein zu dieser Variable-Erklärungs-Seite:

Ich kann mich dem Vorschlag stehts "my" zu verwenden, nicht anschließen. Es mühselig, Variabeln immer neu zu füllen, bzw. gefährlich, in einem Script zwei gleichnamige my deklarierte Variabeln zu verwenden, im Vertrauen darauf, das diese sich eh nicht tangieren, da lokal auf Ihre Funktion begrenzt sind.

Ich bin der Meinung, daß Jede Variable nur einmal vorkommen darf (Verwechslungsgefahr). Und zumindest ich bin von früher daran gewohn, an jeder Stelle des Programms zuverlässig auf den Inhalt einer Variable zugreifen zu können.

Gruß Gary