Encode::Tcl.pm for iso-2022-(?:jp-[12]|cn)
[p5sagit/p5-mst-13.2.git] / vms / perlvms.pod
index 25058bc..4db64d4 100644 (file)
@@ -575,10 +575,9 @@ B<SPAWN> at the DCL prompt.
 Perl waits for the subprocess to complete before continuing
 execution in the current process.  As described in L<perlfunc>,
 the return value of C<system> is a fake "status" which follows
-POSIX semantics; see the description of C<$?> in this document
-for more detail.  The actual VMS exit status of the subprocess
-is available in C<$^S> (as long as you haven't used another Perl
-function that resets C<$?> and C<$^S> in the meantime).
+POSIX semantics unless the pragma C<use vmsish 'status'> is in
+effect; see the description of C<$?> in this document for more 
+detail.  
 
 =item time
 
@@ -788,11 +787,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
@@ -843,15 +844,11 @@ severity was success or informational, these bits are all 0;
 otherwise, they contain the severity value shifted left one bit.
 As a result, C<$?> will always be zero if the subprocess' exit
 status indicated successful completion, and non-zero if a
-warning or error occurred.  The actual VMS exit status may
-be found in C<$^S> (q.v.).
-
-=item $^S
+warning or error occurred.  
 
-Under VMS, this is the 32-bit VMS status value returned by the
-last subprocess to complete.  Unlike C<$?>, no manipulation
-is done to make this look like a POSIX wait(5) value, so it
-may be treated as a normal VMS status value.
+The pragma C<use vmsish 'status'> makes C<$?> reflect the actual 
+VMS exit status, instead of the default emulation of POSIX status 
+described above.
 
 =item $|