use Socket;
$where = $#ARGV >= 0 ? $ARGV[0] : "sfo";
$port = 3000;
$host = "rainmaker.wunderground.com";
$iaddr = inet_aton($host) || die "No host: $host";
$paddr = sockaddr_in($port,$iaddr);
$proto = getprotobyname('tcp');
socket(SOCK,PF_INET,SOCK_STREAM,$proto) || die "Socket: $!";
connect(SOCK,$paddr) || die "connect: $!";
# disable buffering to allow interactive conversation
select((select(SOCK),$| = 1)[0]);
$/ = "Press Return to continue:";
$str = <SOCK>;
print SOCK "\n";
$/ = "3 letter forecast city code-- ";
$str = <SOCK>;
print SOCK "$where+\n";
$/ = "CITY FORECAST MENU";
($str = <SOCK>) =~ s#\n.*$/##;
print $str;
$/ = "Selection:";
$str = <SOCK>;
print SOCK "x\n";