in reply to Sending commands and viewing replies from a serial-attached appliance

I blamed it on the different serial port configuration requested by the appliance (9600 bps, 8-bit, 1-stop, no parity, ?flow control? = none), and so I turned to the more sophisticated "Device::SerialPort" module, which should provide the right tools to set the port parameters.

Alternatively you could've used something you probably already have installed to accomplish the same task: stty. The code would look something like this:

my $dev = "/dev/ttyS0"; open(DEV,"+<$dev") or die; system("/bin/stty <$dev 9600 cs8 -parenb -cstopb -crtscts clocal raw") +; # talk to DEV here close DEV;