Perl 5 version 32.0 documentation



IO::Socket::UNIX - Object interface for AF_UNIX domain sockets


  1. use IO::Socket::UNIX;
  2. my $SOCK_PATH = "$ENV{HOME}/unix-domain-socket-test.sock";
  3. # Server:
  4. my $server = IO::Socket::UNIX->new(
  5. Type => SOCK_STREAM(),
  6. Local => $SOCK_PATH,
  7. Listen => 1,
  8. );
  9. my $count = 1;
  10. while (my $conn = $server->accept()) {
  11. $conn->print("Hello " . ($count++) . "\n");
  12. }
  13. # Client:
  14. my $client = IO::Socket::UNIX->new(
  15. Type => SOCK_STREAM(),
  16. Peer => $SOCK_PATH,
  17. );
  18. # Now read and write from $client


IO::Socket::UNIX provides an object interface to creating and using sockets in the AF_UNIX domain. It is built upon the IO::Socket interface and inherits all the methods defined by IO::Socket.


  • new ( [ARGS] )

    Creates an IO::Socket::UNIX object, which is a reference to a newly created symbol (see the Symbol package). new optionally takes arguments, these arguments are in key-value pairs.

    In addition to the key-value pairs accepted by IO::Socket, IO::Socket::UNIX provides.

    1. Type Type of socket (eg SOCK_STREAM or SOCK_DGRAM)
    2. Local Path to local fifo
    3. Peer Path to peer fifo
    4. Listen Queue size for listen

    If the constructor is only passed a single argument, it is assumed to be a Peer specification.

    If the Listen argument is given, but false, the queue size will be set to 5.


  • hostpath()

    Returns the pathname to the fifo at the local end

  • peerpath()

    Returns the pathanme to the fifo at the peer end


Socket, IO::Socket


Graham Barr. Currently maintained by the Perl Porters. Please report all bugs to <>.


Copyright (c) 1996-8 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.