in reply to Win32::SerialPort is not blocking

You've disabled handshaking, and applied timeouts to your reads:

$PortObj->handshake("none"); ... $PortObj->read_interval(100); # max time between read char (millise +conds) $PortObj->read_char_time(5); # avg time between read char $PortObj->read_const_time(100); # total = (avg * bytes) + const

It is doing what you've asked it to do.

Try adding handshaking; or extending your timeout; or add your own line buffering loop.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.