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/distutils/util.py b/Lib/distutils/util.py
index 1bcda93..16d8bcb 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -229,7 +229,7 @@
 
     try:
         return re.sub(r'\$([a-zA-Z_][a-zA-Z_0-9]*)', _subst, s)
-    except KeyError, var:
+    except KeyError as var:
         raise ValueError, "invalid variable '$%s'" % var
 
 # subst_vars ()