See the current Perl documentation for msgctl.
Here is our local, out-dated (pre-5.6) version:

msgctl - SysV IPC message control operations

msgctl ID,CMD,ARG

Calls the System
V
IPC function
msgctl(2). You'll probably have to say
use IPC::SysV;
first to get the correct constant definitions. If
CMD is IPC_STAT, then
ARG must be a variable which will hold the returned msqid_ds
structure. Returns like ioctl(): the undefined value for error, ``0 but true'' for zero, or the actual return value otherwise. See also
IPC::SysV and IPC::Semaphore::Msg documentation.