perl-5.40.0
semctl ID,SEMNUM,CMD,ARG

Calls the System V IPC function semctl(2). You'll probably have to say

System V IPC 関数 semctl(2) を呼び出します。 正しい定数定義を得るために、まず

    use IPC::SysV;

first to get the correct constant definitions. If CMD is IPC_STAT or GETALL, then ARG must be a variable that will hold the returned semid_ds structure or semaphore value array. Returns like ioctl: the undefined value for error, "0 but true" for zero, or the actual return value otherwise. The ARG must consist of a vector of native short integers, which may be created with pack("s!",(0)x$nsem). See also "SysV IPC" in perlipc and the documentation for IPC::SysV and IPC::Semaphore.

と書くことが必要でしょう。 CMD が、IPC_STAT か GETALL のときには、ARG は、返される semid_ds 構造体か、セマフォ値の配列を納める変数でなければなりません。 ioctl と同じように、エラー時には 未定義値、ゼロのときは "0 だが真"、それ以外なら、その値そのものを返します。 ARG はネイティブな short int のベクターから成っていなければなりません; これは pack("s!",(0)x$nsem) で作成できます。 "SysV IPC" in perlipc および、IPC::SysVIPC::Semaphore の文書も参照してください。

Portability issues: "semctl" in perlport.

移植性の問題: "semctl" in perlport