use IO::Handle; my $filename = '/path/to/file'; # Increment the counter (atomically, so no locking required) open(FILE, ">> $filename") or warn "Missed a count"; FILE->autoflush(1); print FILE '.'; # Ouput one (arbitrary) byte my $counter= tell(FILE); close FILE;