IPC::Msg(3pm)

πŸ’– NAME πŸ’–

okay so bestie, this is IPC::Msg(3pm) from the Perl Programmers Reference Guide β€” IPC::Msg is the SysV Msg IPC object class, and it's here to make SysV IPC message queues feel less feral. πŸ’…


✨ SYNOPSIS ✨

use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
use IPC::Msg;

$msg = IPC::Msg->new(IPC_PRIVATE, S_IRUSR | S_IWUSR);

$msg->snd($msgtype, $msgdata);

$msg->rcv($buf, 256);

$ds = $msg->stat;

$msg->remove;

πŸ¦‹ DESCRIPTION πŸ¦‹

It's giving object-oriented glow-up: this is a class that gives you an object based interface to SysV IPC message queues. iconic, honestly. 🌈


πŸ’… METHODS πŸ’…

πŸŽ€ new ( KEY , FLAGS )

Creates a new message queue associated with 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 FLAGS & IPC_CREAT is true.

On creation of a new message queue, FLAGS is used to set the permissions.

⚠️ careful, bestie: do not set any flags that the Sys V IPC implementation does not allow β€” on some systems, setting execute bits makes the operations fail. not a slay. πŸ’€

πŸͺͺ id

Returns the system message queue identifier.

πŸ“₯ rcv ( BUF, LEN [, TYPE [, FLAGS ]] )

Reads a message from the queue. Returns the type of the message read. See msgrcv(2). The BUF becomes tainted. iykyk. πŸ‘

🧹 remove

Removes and destroys the message queue from the system. bye bestie πŸ‘‹

🎚️ set ( STAT ) / set ( NAME => VALUE [, NAME => VALUE ...] )

set will set the following values of the stat structure associated with the message queue:

  • uid
  • gid
  • mode (only the permission bits)
  • qbytes

set accepts either a stat object, as returned by the stat method, or a list of name-value pairs. flexible queen ✨

πŸ“€ snd ( TYPE, MSG [, FLAGS ] )

Places a message on the queue with the data from MSG and with type TYPE. See msgsnd(2). send it, periodt πŸ’Œ

πŸ“Š stat

Returns an object of type IPC::Msg::stat, which is a sub-class of Class::Struct. It provides the following fields β€” for a description of these fields, see your system documentation:

  • uid
  • gid
  • cuid
  • cgid
  • mode
  • qnum
  • qbytes
  • lspid
  • lrpid
  • stime
  • rtime
  • ctime

🌈 SEE ALSO 🌈

  • IPC::SysV
  • Class::Struct

πŸŽ€ AUTHORS πŸŽ€

  • Graham Barr <gbarr@pobox.com>
  • Marcus Holland-Moritz <mhx@cpan.org>

Version 2.x, Copyright (C) 2007-2013, Marcus Holland-Moritz.

Version 1.x, Copyright (c) 1997, Graham Barr.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. fr fr 🫢


okay that's the whole page, bestie β€” source/version is perl v5.42.3, dated 2026-11-03. now go make those message queues behave. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from