Shuts down a socket connection in the manner indicated by HOW, which has the same interpretation as in the syscall of the same name.
shutdown(SOCKET, 0); # I/we have stopped reading data shutdown(SOCKET, 1); # I/we have stopped writing data shutdown(SOCKET, 2); # I/we have stopped using this socket
This is useful with sockets when you want to tell the other side you're done writing but not done reading, or vice versa. It's also a more insistent form of close because it also disables the file descriptor in any forked copies in other processes.
1 for success; on error, returns
undef if the first argument is not a valid filehandle, or returns
0 and sets
$! for any other failure.