in reply to How to escape # sign in key name
I think you have a misunderstanding of what the => operator does. It's really just a fancy way of putting a comma with some quoting on the left-hand side. These two lines do exactly the same thing, right down to how they're compiled interally:
%h = ( foo => 'bar' ); %h = ( 'foo', 'bar' );
However, as other posters mentioned, the quoting on the LHS isn't smart enough to work well with spaces and comment chars.
perldata reminds us that variable names can only contain letters, number, and underscores.
For lexicals, yes. Package variables can contain pretty much whatever you want for variable names. Even control chracters, if you're insane enough to try. Of course, you'll need some way of dealing with how to access them (symbolic refs are one way, but not the only one).
----
: () { :|:& };:
Note: All code is untested, unless otherwise stated
|
|---|