in reply to how to terminate an IO:Socket Process prematurely?

Obviously because your while loop never terminates. After reading the first line of input, the $line = <$remote> blocks, waiting for more input that never comes.

Three notes:
  1. You should use strict;
  2. I can't find any mention of an exit() method in the IO::Socket module documentation and it isn't strictly necessary either since IO::Socket will clean up after you at program termination (as do all well-behaved modules).
  3. Your autoflush() has no effect since you're not writing anything onto the socket that might get buffered in the first place.

Update: I think what you want to do is more like this:
#!/usr/bin/perl -w use strict; use IO::Socket; my $remote = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "210.212.226.195", PeerPort => "ssh(22)", ) || die "cannot connect"; sysread($remote, my $line, 4*1024) or die "couldn't read any data"; # +one single attempt to read 4k of data print "$line\n";
____________
Makeshifts last the longest.