#!/usr/bin/perl -w use strict; use IO::Socket; $| = 1; my ($host, $port, $kidpid, $handle, $line); unless (@ARGV == 2) { die "usage: $0 host port" } ($host, $port) = @ARGV; # create a tcp connection to the specified host and port $handle = IO::Socket::INET->new(Proto => "tcp", PeerAddr => $host, PeerPort => $port) or die "can't connect to port $port on $host: $!"; while () { #$handle->autoflush(1); # so output gets there right away # print STDERR "[Connected to $host:$port]\n"; # the if{} block runs only in the parent process # copy the socket to standard output $line = <$handle> ; print STDOUT $line; }