in reply to Output garbage from serial port

You should turn off perl's output buffering if you're using print - see $| in perldoc perlvar. And because you're using Windows, I expect you need to use binmode.