tadman has asked for the wisdom of the Perl Monks concerning the following question:

In the process of prodding about at all the wonderful symbols you can use in a JAPH, I found a few curious ones that I don't find much information on:
#!/usr/bin/perl -w use strict; @$ = ( 1, 2, 3); %$ = ( 1 => 'a', 2 => 'b' ); print map { "% : $_ => ${%$}{$_}\n" } sort keys (%$); print map { "@ : $_\n" } (@$);
Are they functional in some way, like @INC, or even $0, or are these used for some internal purpose that requires them to be exposed?

Just curious.

Replies are listed 'Best First'.
Re: Internal Variables or Strange Critters? (Addendum)
by tadman (Prior) on Apr 19, 2001 at 09:10 UTC

      Most of those don't mean anything special to Perl. They are just variables. But punctuation variables are nice for obfuscation because they are immune to use strict.

      You can also have variables named "{", you just can't access them as simply: ${"{"}, @{"{"}, %{"{"} (and that doesn't work under use strict).

      You are exploring the corners of the parser, not of Perl's variables.

      %! is special (see Errno). @+ and @- were added to Perl recently (regex related). @_ should be familiar. (:

              - tye (but my friends call me "Tye")