use Win32::SerialPort; my $port = Win32::SerialPort->new("COM16") or die "Open Port Failed. $!\n"; $port->is_rs232; $port->initialize(); $port->baudrate(9600); $port->databits(8); $port->parity("none"); $port->stopbits(1); $port->write_settings || undef $port; sleep(3); print "STARTING RELAY SIGNAL PROGRAM\n\n"; while (1) { print "ENTER A SIGNAL COLOR... "; my $char = ; $char = until defined $char; chomp($char); # SEND THE COMMAND TO THE ARDUINO if ($char =~ /^\d+$/) { print "\nSENDING $char ...\n\n"; $port->write("$char\r"); } $port->lookclear(); my $data = $port->lookfor; if ($data =~ /BONE/) { print "\nBUTTON PRESSED\n\n"; } $port->lookclear(); $port->purge_all; } # END WHILE LOOP