nick you are the man! That's so much better. There are still a few quirks though. It looks like it's only operating on scalars, whereas we have instances of arrays and hashes that are referenced in packages as well. So for instance:
$myPackage'myScalar = 12;
@myPackage'myArray = ();
%myPackage'myHash = ();
The first instance will be detected properly, whereas the following two are not. So I extended your plain array handling regex to this:
Which seems to do the trick. I'm not comfortable submitting a pull request, or extending this to other cases (in braces, from scalar), because honestly I'm not a perl expert and I'm not familiar at all with ST's custom parsing functionality, but that should give you a decent idea of what's currently lacking if you want to improve it somewhat.