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);