open SELF, "< $0" or die ...; flock SELF, LOCK_EX | LOCK_NB or exit; or flock DATA, LOCK_EX | LOCK_NB or exit; ... __DATA__