use Fcntl; ... flock(I, LOCK_EX);