See the current Perl documentation for semop.
Here is our local, out-dated (pre-5.6) version:
semop - SysV semaphore operations
Calls the System
IPC function semop to perform semaphore operations such as signaling and waiting.
OPSTRING must be a packed array of semop structures. Each semop structure can be generated with
pack("sss", $semnum, $semop, $semflag). The number of semaphore operations is implied by the length of
TRUE if successful, or
FALSE if there is an error. As an example, the following code waits on semaphore
$semnum of semaphore id
$semop = pack("sss", $semnum, -1, 0); die "Semaphore trouble: $!\n" unless semop($semid, $semop);
To signal the semaphore, replace
1. See also