Moin.
in der Sub 1 lese ich nur die Datei xyz.txt
in der Sub 2 lese und schreibe ich in die Datei xyz.txt
Annahme: Dein Script läuft als ein Prozess, es gibt an keiner Stelle ein fork(). Dann können Sub1 und Sub2 nie gleichzeitig laufen.
Und wenn Du sicherstellen kannst, daß Dein Script nur einmal aufgerufen werden kann, also niemals (!) ein zweites parallel läuft bzw. ein anderes Script auf die Daten zugreift, dann brauchst Du nicht einmal beim schreiben zu locken. Wer sollte das Schreiben dann unterbrechen?
ABER: Kannst Du verhindern, daß zwei User gleichzeitig Dein Script starten...?
Deshalb --> lock ist Pflicht!
Gruß Frank