#!/usr/bin/perl use warnings; use strict; use IO::Socket; use Socket; # use port 7890 as default my $port = shift || 7890; my $socket = IO::Socket::INET->new( LocalPort => $port, Type => SOCK_STREAM, Reuse => 1, Listen => 10, ) or die "Couldn't create server: $@\n"; while (my $client = $socket->accept()) { my ($port, $iaddr) = unpack_sockaddr_in($client->peername()); $client->send(inet_ntoa($iaddr)); $client->close(); }