Array indexes should always be numbers.

Note that $array['1'], $array["1"], and $array[1] are equivalent, so we need to keep the matching for potential '/" around the index itself.
Allow spaces in quoted hash keys.
(GH-9) Make comment parsing regex a constant.
(GH-9) Accept commas as separators in variable lists.
(GH-9) Allow spaces and commas in hash keys.

We use a positive lookahead to make sure we have the beginning of a new variable after our separator. This is not 100% accurate - you can use a hash key 'test $test' - but it is much closer.
(GH-9) Test comma-separated safe variable lists.
(GH-9) Test variables with spaces in hash keys.
Formatting.
Debugging information.