this appears to work:
or at least stuff is output. I've never used the POSIX::read/open stuff before so there may be holes I didn't catch.
did the sprintf stuff to get the hex stream rather than
unprintable garbage. May not work the way I think it does. :)
+
use strict;
my $data;
my $fd;
my $buf;
use POSIX;
$fd = POSIX::open("/dev/mouse", &POSIX::O_RDONLY) ||
die ($!);
while($data = POSIX::read($fd, $buf, 1))
{
print "READ $data Bytes: " . join("", map(sprintf("%x",ord($_)), sp
+lit(//, $buf))) . "\n";
}