Device::SerialPort has the advantage that it provides an extra layer of abstraction, and porting to Windows is easier (Win32::SerialPort). However, if you know your application is staying on a *NIX system, then personally my preference is to do away with that extra layer of abstraction and work with a more native API - I wrote about that here: Lower-Level Serial Port Access on *NIX.
I've used both Device::SerialPort and IO::Termios to write serial loggers - the former here, the latter here (which uses this helper module - warning, not yet really production ready), plus a POE-based logger/server here (again, it's just a beta, although so far it seems to have been running well).
Anyway, as for your question, the docs seem to say that ->input is nonblocking, and ->read is AFAIK blocking. (The indeed somewhat lacking documentation is another reason I prefer the lower-level approach, with IO::Select and similar it is more clear to me what is going on.)
In reply to Re: Serial port - "input" vs "read"
by haukex
in thread Serial port - "input" vs "read"
by fsonnichsen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |