summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pod/perlport.pod2
-rw-r--r--vms/perlvms.pod12
2 files changed, 8 insertions, 6 deletions
diff --git a/pod/perlport.pod b/pod/perlport.pod
index a06da4490b..ebb20b293a 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 25058bc902..f43cbb0e46 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<keys>, or C<values>, you will incur a time penalty as all