work on python 3 compatibility
diff --git a/serial/tools/miniterm.py b/serial/tools/miniterm.py
index 635ce56..e5a7d99 100644
--- a/serial/tools/miniterm.py
+++ b/serial/tools/miniterm.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 # Very simple serial terminal
-# (C)2002-2011 Chris Liechti <cliechti@gmx.net>
+# (C)2002-2015 Chris Liechti <cliechti@gmx.net>
 
 # Input characters are sent directly (only LF -> CR/LF/CRLF translation is
 # done), received characters are displayed as is (or escaped trough pythons
@@ -14,6 +14,11 @@
 except ImportError:
     comports = None
 
+try:
+    raw_input
+except NameError:
+    raw_input = input   # in python3 it's "raw"
+
 EXITCHARCTER = serial.to_bytes([0x1d])   # GS/CTRL+]
 MENUCHARACTER = serial.to_bytes([0x14])  # Menu: CTRL+T
 
@@ -271,7 +276,7 @@
                     for c in data:
                         sys.stdout.write("%s " % c.encode('hex'))
                 sys.stdout.flush()
-        except serial.SerialException, e:
+        except serial.SerialException as e:
             self.alive = False
             # would be nice if the console reader could be interruptted at this
             # point...
@@ -316,7 +321,7 @@
                                     self.serial.flush()
                                     sys.stderr.write('.')   # Progress indicator.
                                 sys.stderr.write('\n--- File %s sent ---\n' % filename)
-                            except IOError, e:
+                            except IOError as e:
                                 sys.stderr.write('--- ERROR opening file %s: %s ---\n' % (filename, e))
                         console.setup()
                     elif c in '\x08hH?':                    # CTRL+H, h, H, ? -> Show help
@@ -382,7 +387,7 @@
                                 new_serial.setRTS(self.rts_state)
                                 new_serial.setDTR(self.dtr_state)
                                 new_serial.setBreak(self.break_state)
-                            except Exception, e:
+                            except Exception as e:
                                 sys.stderr.write('--- ERROR opening new port: %s ---\n' % (e,))
                                 new_serial.close()
                             else:
@@ -398,7 +403,7 @@
                         backup = self.serial.baudrate
                         try:
                             self.serial.baudrate = int(sys.stdin.readline().strip())
-                        except ValueError, e:
+                        except ValueError as e:
                             sys.stderr.write('--- ERROR setting baudrate: %s ---\n' % (e,))
                             self.serial.baudrate = backup
                         else:
@@ -648,7 +653,7 @@
             convert_outgoing=convert_outgoing,
             repr_mode=options.repr_mode,
         )
-    except serial.SerialException, e:
+    except serial.SerialException as e:
         sys.stderr.write("could not open port %r: %s\n" % (port, e))
         sys.exit(1)