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

IPC::Msg - SysV Msg IPC object class

use IPC::SysV qw(IPC_PRIVATE S_IRWXU S_IRWXG S_IRWXO);
use IPC::Msg;
$msg = new IPC::Msg(IPC_PRIVATE, S_IRWXU | S_IRWXG | S_IRWXO);
$msg->snd(pack("L a*",$msgtype,$msg));
$msg->rcv($buf,256);

METHODS
KEY.
A new queue is created if
KEY is equal to IPC_PRIVATE
KEY does not already have a message queue associated with it, and <EM>FLAGS</EM> & IPC_CREAT is true.
On creation of a new message queue FLAGS is used to set the permissions.
set will set the following values of the stat structure associated with the message queue.
uid
gid
mode (oly the permission bits)
qbytes
set accepts either a stat object, as returned by the stat method, or a list of name-value pairs.
MSG and with type TYPE. See msgsnd.
IPC::Msg::stat which is a sub-class of
Class::Struct. It provides the following fields. For a description of these fields see
you system documentation.
uid
gid
cuid
cgid
mode
qnum
qbytes
lspid
lrpid
stime
rtime
ctime
Graham Barr <gbarr@pobox.com>
Copyright (c) 1997 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.