

use IO::Socket::INET;

&processargs();
&connect2pd();
&connected();
&talk();

sub processargs{
if (@ARGV < 2){
	$remotehost = "localhost";
	$remoteport = 3000;
	print "Using default settings of localhost:3000\n";
	print "To specify host and port type:\n\n";
	print "\tC:\\>pdsender.pl [host] [port]\n\n";
	}
else{
	$remotehost = $ARGV[0];
	$remoteport = $ARGV[1];
	}
}

sub connect2pd{
$socket = IO::Socket::INET->new(PeerAddr => $remotehost,
				PeerPort => $remoteport,
				Proto => "tcp",
				Type => SOCK_STREAM)
or die "Couldn't connect to PD at $remotehost:$remoteport.\nIs PD running and waiting for connections?\n";
}


sub connected{
print "\nNow talking to PD at $remotehost:$remoteport\n";
print "\\ ; characters are not permitted.\n";
print "Type \"quit\" to close and exit.\n";
print "Kog http://kog.ca\n\n";
}

sub talk{
print "message: ";
$send = <STDIN>;
chomp($send);
	while ($socket && $send ne "quit"){
		print $socket "$send;";
		print "message: ";
		$send = <STDIN>;
		chomp($send);
	}
print "Disconnected from $remotehost:$remoteport.\n";
close($socket);
}







