http://www.perlmonks.org?node_id=1038812


in reply to Re: Why doesn't "my ($x) = @);" generate a syntax error?
in thread Why doesn't "my ($x) = @);" generate a syntax error?

Correction: for any punctuation character x except '[' and '{', there exist global variables $x, @x and %x. Those variables are not necessarily magic, and their existence doesn't depend on the fact that $x does something useful. For example, none of $}, @} and %} are magic, yet they are all global variables.
  • Comment on Re^2: Why doesn't "my ($x) = @);" generate a syntax error?

Replies are listed 'Best First'.
Re^3: Why doesn't "my ($x) = @);" generate a syntax error?
by tobyink (Canon) on Jun 13, 2013 at 23:31 UTC

    $[, @[ and %[ work (or at least they do in 5.18.0). If ${, @{ and %{ were to work, that would break dereferencing.

    package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name