I'm almost sure, that a real telnet client has more functions than this. But it's perl and strict and -w. And ... It has a nice block form. :-)
(Maybe it's not really that obfuscated etc.. Suggestions, what I could do, to make it look more obfuscated?)
./telnet.pl hostname port
#!/usr/bin/perl -w
$SIG{'USR1'#####@$&
}=\&q;$$########$%¾
[4]=$$;;;;;;####%\½
$$[2]=shift;####%§¼
;$$[3]=shift###;$$³
;use############$_²
IO::Socket;use## #*
strict;use######;#~
vars qw($a);;#;;#+
$a=#############;#+
IO::Socket::INET###
->new->new(#####;#-
PeerAddr=>$$[2],##,
PeerPort=>$$[3],##.
Proto=>"tcp",#;##;&
Type=>SOCK_STREAM#3
)||die('Oops');$a#!
->autoflush();$$#["
[0]=fork();if($$#;%
[0]){while($$=#!$;&
<STDIN>){print($a #
$$);}kill("TERM"=>#
$$[0]);}else{while#
($$[1]=<$a>){print#
(STDOUT $$[1]);}#!#
kill("USR1"=>$$[4]#
);}sub q{print"".#{
"Connection closed.
";exit();};;;;;;;;#
Btw. I'm not sure, if it'll work with windows.