Sockets, using IO::Socket::INET, UDP, P03, pump

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

#!/usr/bin/env perl
#
# start the pump server (Labview) before this
# script is started
#
use strict;
use IO::Socket::INET;
use IO::Select;

my $host="131.169.215.XX"; 
my $port=2612; 

my $sock = IO::Socket::INET->new(PeerAddr => $host,
                              PeerPort => $port,
                              Proto    => 'udp') || die "Failed to connect\n";
#                             Type => SOCK_STREAM) || die "Failed to connect\n";
my $s = new IO::Select();
$s->add( $sock); 
sub sendMsg
{
    my ( $msg) = @_; 
    my $buffer ; 
    $sock->send( $msg);

    while( length( $buffer) == 0 || $s->can_read(0.1))
    {
        $sock->recv( $buffer, 100);
    }
    print " rec: $buffer \n"; 
    sleep(5);     
}
sendMsg( "pumpfast"); 
close($sock);