$completeadd = "mycounter"; $semaphore_file = "mycounterlock"; open(SEM, ">$semaphore_file") || die "Cannot create semaphore $semaphore_file: $!"; flock(SEM, LOCK_EX) || die "Lock failed: $!"; open(MFILE, ">>$completeadd") || die "file open1 failed: $!\n"; close(MFILE); open(MFILE, "$completeadd") || die "file open2 failed: $!\n"; @filedata1=; chomp @filedata1; close(MFILE); $hitcount=$filedata1[0]; if ($hitcount) { $hitcount=$hitcount + 1; } else { $hitcount = 1; } $filedata1[0]=$hitcount; writedata(@filedata1); release_lock();