sub user_to_host { my $s = shift; # Note: $s is the socket my $buffer; STDIN->autoflush(1); while (read (STDIN, $buffer, 1)) { print $s $buffer; } } # ATTEMPT #2 sub user_to_host { my $s = shift; my $buffer; STDIN->autoflush(1); while ($s) { read (STDIN, $buffer, 1); print $s $buffer; } }