From: Jarkko Hietaniemi Date: Mon, 6 Nov 2000 23:58:48 +0000 (+0000) Subject: %ENV note tweaks from Dan Sugalski. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6be8f7a639aa6b6c116e29c11f6b58a558cf0865;p=p5sagit%2Fp5-mst-13.2.git %ENV note tweaks from Dan Sugalski. p4raw-id: //depot/perl@7583 --- diff --git a/pod/perlport.pod b/pod/perlport.pod index a06da44..ebb20b2 100644 --- a/pod/perlport.pod +++ b/pod/perlport.pod @@ -335,7 +335,7 @@ operating systems put mandatory locks on such files. Don't count on a specific environment variable existing in C<%ENV>. Don't count on C<%ENV> entries being case-sensitive, or even case-preserving. Don't try to clear %ENV by saying C<%ENV = ();>, or, -if you really have to, make it conditional on C<$^O ne 'vms'> since in +if you really have to, make it conditional on C<$^O ne 'VMS'> since in VMS the C<%ENV> table is much more than a per-process key-value string table. diff --git a/vms/perlvms.pod b/vms/perlvms.pod index 25058bc..f43cbb0 100644 --- a/vms/perlvms.pod +++ b/vms/perlvms.pod @@ -788,11 +788,13 @@ by saying (You can't just say C<$ENV{$key} = $ENV{$key}>, since the Perl optimizer is smart enough to elide the expression.) -Don't try to clear C<%ENV> by saying C<%ENV = ();> Bad things will -happen because parts of C<%ENV> are per-process, parts of it are -per-group, and parts of it are system-wide. Without some serious -rights, it won't work, or with the rights, it does, but the system -will effectively die. +Don't try to clear C<%ENV> by saying C<%ENV = ();>, it will throw +a fatal error. This is equivalent to doing the following from DCL: + + DELETE/LOGICAL * + +You can imagine how bad things would be if, for example, the SYS$MANAGER +or SYS$SYSTEM logicals were deleted. At present, the first time you iterate over %ENV using C, or C, you will incur a time penalty as all