あ、あと
WHILEで処理してる間に(これは読み取りのみで開いた)
別の処理が書きこみしても大丈夫でしょうか?
例えば

#処理1
open (FILE,./file.dat)
while(<FILE>){〜〜〜;}
close FILE;

#処理2
open (FILE,">./file.dat")
print FILE $hogedata;
close (FILE);
みたいな感じでAさんが処理1をやってる場合に
Bさんが処理2をやるというのは問題無いですか?