#!/usr/bin/perl

use strict;
use IO::Socket;
use Errno qw(:POSIX);
use Fcntl;

$| = 1;

my $sock = IO::Socket::INET->new(PeerAddr => $ARGV[0], PeerPort => '1511', Proto => 'tcp', Timeout => 5);
$sock or die "Failed $!\n";
$sock->autoflush;
my $flags = $sock->fcntl(F_GETFL, 0);
$flags or die "Failed $!\n";
$flags = $sock->fcntl(F_SETFL, $flags|O_NONBLOCK);
$flags or die "Failed $!\n";

sleep 1;  #- let banner arrive

while(1) {
    my $buf;
    my $bytes;
    while (1) {
        $bytes = sysread($sock, $buf, 1024);
        if (defined($bytes)) {
            print $buf;
            next;
        }
        if ($! == EAGAIN) {
            last;
        }
        die "Oops, system error: $!\n";
    }

    print $sock "FB/1.2 TALK if you don't want to play, go chatting somewhere else - \%n\n";
    sleep 120;
}



