New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
when {}
is a syntax error
#60
Comments
OIC it thinks its a block. Patch on the way. |
Hrm. I can special case an empty hash, but what about hashes in general? I don't think there will be much call for checking for anything but an empty hash, so I'm inclined to just special case it. Anything more complicated can be done as a full block. |
Also added a test for `when []`. I didn't find a good file for testing when parsing issues, so I made one up. For #60
Hashes in general are already supported. PPI uses the usual perlish guesswork to determine Empty curlies are arguably a useless special case Of course, treating {} as an empty block would be |
Well, we should probably special-case it as whatever-doesn't-generate-a-syntax-error. :-D This fix will go into the next dev release. Just waiting now for CPANTesters to throw up some reports for me to look at ... |
@thoughtstream PPI might have that guesswork, but inject_for_sig() isn't using it. It's using a regex. I'll look at switching it to PPI, but this fix to the existing regex should go in. And an empty hash ref smart matches, surprise, an empty hash ref.
This is handy for providing a default if the user passes in an empty hash ref, similar to using |
Very good point re empty hashref matching empty hashes. |
Fixed in version 20121201. |
This works fine.
This is a messy parse error.
Something's gone wrong with the injection.
The text was updated successfully, but these errors were encountered: