in reply to struck up with win32::Serialport

It can do what you said, except "wait until after receiving" is called "reading".

  1. Send a command.
  2. Read until you have a complete reply.
  3. Process reply.
  4. Repeat.

What's the problem?

By the way, do you mean Win32::SerialPort? I can't find any module named win32::Serialport.