http://qs321.pair.com?node_id=737393

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

Hi,

I played a little bit with the vars listed in perlvar, and there are some inconsistent behaviours (using v5.10.0). Before filling a bug report, I would like to discuss these issues:

% perl -e '$$=1' Modification of a read-only value attempted at -e line 1. % perl -e 'local $$=1' %

$$ is listed as read-only.

Same is for other special globals like $], $^{TAINT}, $^{UNICODE}, and $^V.

Is there a bug? Are the docs ambiguous?

-- Frank

Replies are listed 'Best First'.
Re: (nearly) readonly globals
by BrowserUk (Patriarch) on Jan 19, 2009 at 20:18 UTC
      Using local creates a temporary instance of the named variable, and you can do what you like with it.

      But this does not apply to all special globals, i.e.:

      % perl -e 'local $1 = 1' Modification of a read-only value attempted at -e line 1. % perl -e 'local $^S = 1' Modification of a read-only value attempted at -e line 1.

      -- Frank