How do I read from and write to serial ports? Serial ports can be opened just like files in ActivePerl. To open COM1, just do this: open( PORT, "+>COM1" ) or die "Can't open COM1: $!"; You should be able to read from and write to the file handle using the standard I/O functions (read() and print()), but not the system functions (sysread() and syswrite()).