SF patch 1631942 by Collin Winter:
(a) "except E, V" -> "except E as V"
(b) V is now limited to a simple name (local variable)
(c) V is now deleted at the end of the except block
diff --git a/Lib/compileall.py b/Lib/compileall.py
index b21d95f..1e5c6a6 100644
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -65,12 +65,12 @@
                     ok = py_compile.compile(fullname, None, dfile, True)
                 except KeyboardInterrupt:
                     raise KeyboardInterrupt
-                except py_compile.PyCompileError,err:
+                except py_compile.PyCompileError as err:
                     if quiet:
                         print 'Compiling', fullname, '...'
                     print err.msg
                     success = 0
-                except IOError, e:
+                except IOError as e:
                     print "Sorry", e
                     success = 0
                 else:
@@ -109,7 +109,7 @@
     import getopt
     try:
         opts, args = getopt.getopt(sys.argv[1:], 'lfqd:x:')
-    except getopt.error, msg:
+    except getopt.error as msg:
         print msg
         print "usage: python compileall.py [-l] [-f] [-q] [-d destdir] " \
               "[-x regexp] [directory ...]"