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
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.).
+warning or error occurred.
-=item $^S
-
-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 $|