use Fcntl qw/:DEFAULT/;
use IO::Termios ();
use IO::Stty ();
sysopen my $fh, '/dev/ttyUSB0', O_RDWR or die "sysopen: $!";
my $handle = IO::Termios->new($fh) or die "IO::Termios->new: $!";
$handle->set_mode('300,7,e,1');
IO::Stty::stty($handle, qw/ cs7 parenb -parodd raw -echo /);
my $raw = "\x2F\x3F\x21\x0D\x0A";
$handle->syswrite($raw) == length($raw) or die "syswrite";
my $raw = "\x06\x30\x30\x30\x0D\x0A";
$handle->syswrite($raw) == length($raw) or die "syswrite";
while(1) {
my $toread = 1;
$handle->sysread(my $in, $toread) == $toread or die "sysread";
print $in;
}
$handle->close;
####
read(4, "/", 1) = 1
read(4, "L", 1) = 1
read(4, "O", 1) = 1
read(4, "G", 1) = 1
read(4, "4", 1) = 1
read(4, "L", 1) = 1
read(4, "K", 1) = 1
read(4, "1", 1) = 1
read(4, "3", 1) = 1
read(4, "B", 1) = 1
read(4, "D", 1) = 1
read(4, "2", 1) = 1
read(4, "0", 1) = 1
read(4, "2", 1) = 1
read(4, "0", 1) = 1
read(4, "1", 1) = 1
read(4, "5", 1) = 1
read(4, "\r", 1) = 1
read(4, "\n", 1) = 1
write(1, "/LOG4LK13BD202015\r\n", 19/LOG4LK13BD202015) = 19
read(4,