Sockets, using IO::Socket::INET, TCP/IP

The following examples demonstrates how sockets are used with the IO::Socket::INET and IO::Select modules.

#!/usr/bin/env perl
#
# Before this script is started:
#
#   someHost> spectra
#   SPECTRA> server/async   
#
use strict;
use IO::Socket::INET;
use IO::Select;

my $sock = IO::Socket::INET->new(PeerAddr => 'someHost',
                              PeerPort => '7777',
                              Proto    => 'tcp', 
			      Type => SOCK_STREAM) || die "Failed to connect\n";

$sock->send( "*=2*3");

my $s = new IO::Select();
$s->add( $sock); 

my $buffer = ""; 
while( length( $buffer) == 0 || $s->can_read(0.1))
{
    $sock->recv( $buffer, 100);
}

print " received $buffer\n"; 

close($sock);