# phpman > info > IO::Socket::UNIX

[IO::Socket](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket/markdown)::[UNIX(3perl)](https://www.chedong.com/phpMan.php/man/UNIX/3perl/markdown)Perl Programmers Reference [GuideIO::Socket](https://www.chedong.com/phpMan.php/perldoc/GuideIO%3A%3ASocket/markdown)::[UNIX(3perl)](https://www.chedong.com/phpMan.php/man/UNIX/3perl/markdown)

NAME
       [IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown) - Object interface for AF_UNIX domain sockets

SYNOPSIS
           use [IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown);

           my $SOCK_PATH = "$ENV{HOME}/unix-domain-socket-test.sock";

           # Server:
           my $server = [IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown)->new(
               Type => SOCK_STREAM(),
               Local => $SOCK_PATH,
               Listen => 1,
           );

           my $count = 1;
           while (my $conn = $server->accept()) {
               $conn->print("Hello " . ($count++) . "\n");
           }

           # Client:
           my $client = [IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown)->new(
               Type => SOCK_STREAM(),
               Peer => $SOCK_PATH,
           );

           # Now read and write from $client

DESCRIPTION
       "[IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown)" provides an object interface to creating and using
       sockets in the AF_UNIX domain. It is built upon the [IO::Socket](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket/markdown)
       interface and inherits all the methods defined by [IO::Socket](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket/markdown).

CONSTRUCTOR
       new ( [ARGS] )
           Creates an "[IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown)" 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](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket/markdown),
           "[IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown)" provides.

               Type        Type of socket (eg SOCK_STREAM or SOCK_DGRAM)
               Local       Path to local fifo
               Peer        Path to peer fifo
               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.

           If the constructor fails it will return "undef" and set the
           $[IO::Socket::errstr](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3Aerrstr/markdown) package variable to contain an error message.

               $sock = [IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown)->new(...)
                   or die "Cannot create socket - $[IO::Socket::errstr](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3Aerrstr/markdown)\n";

           For legacy reasons the error message is also set into the global $@
           variable, and you may still find older code which looks here
           instead.

               $sock = [IO::Socket::UNIX](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket%3A%3AUNIX/markdown)->new(...)
                   or die "Cannot create socket - $@\n";

METHODS
       hostpath()
           Returns the pathname to the fifo at the local end

       peerpath()
           Returns the pathanme to the fifo at the peer end

SEE ALSO
       Socket, [IO::Socket](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket/markdown)

AUTHOR
       Graham Barr. Currently maintained by the Perl Porters.  Please report
       all bugs to <<perlbug@perl.org>>.

COPYRIGHT
       Copyright (c) 1996-8 Graham Barr <<gbarr@pobox.com>>. All rights
       reserved.  This program is free software; you can redistribute it
       and/or modify it under the same terms as Perl itself.

perl v5.34.0                      2025-07-25           [IO::Socket](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ASocket/markdown)::[UNIX(3perl)](https://www.chedong.com/phpMan.php/man/UNIX/3perl/markdown)
