Thread open-Anweisung
(22 answers)
Opened by geloescht at 2012-06-24 00:30
Du missverstehst. Ich habe zwei Funktionen geschrieben, die jeweils Unabhängig aufgerufen werden können. Die erste Funktion Ließt den Counter nur. Die zweite ließt den alten Wert aus erhöht ihn um eins und schreibt ihn wider zurück, der geänderte Wert wird aus der Funktion zurück gegeben. Die Zweite Funktion ist eine Erweiterung der ersten. Die erste Funktion wird nicht zwingend benötigt.
Du solltest auch die Größe der Datei vor dem schreiben des neuen Wertes ändern. Bedenke das nicht zwingend nur ein Zahlenwert in der Datei stehen muss, oder der neue Wert aus irgend einem Grund weniger stellen hat. Ein löschen des alten Inhaltes ist angebracht. Das macht man mit truncate Bei Linux z.B. muss ein Filehandle nicht zu dem Zeitpunkt freigeben werden, an dem Perl die Datei schließt. Darum ist es günstig vor dem Schließen der Datei diese wieder freizugeben (flock($fh, LOCK_UN);). Ansonsten könnte es zu Verzögerungen kommen. Man verzichtet nicht auf formulierte Namen für Filehandle. Aber es kommt häufig vor, das man ein Filehandle erstellt und kurz darauf wieder schließt: Code (perl): (dl
)
1 2 3 open(my $fh, '<', $datei) or die "ERROR open $datei ($!)\n"; my @data=<$fh>; close($fh); |