vmsish
Controls VMS-specific language features. Currently, there are four VMS-specific features available: status ($?), exit, time, and hushed. If you're not using VMS, then this module won't have any affect.
vmsish is shipped with the Perl 5.8 source kit.
For example, without vmsish, you can't execute a hushed version of exit:
$ perl -e"exit 44;" Non-hushed error exit %SYSTEM-F-ABORT, abort DCL message $ show sym $STATUS $STATUS == "%X0000002C"
When you use vmsish, you get . . . nothing!
$ perl -e"use vmsish qw(hushed); exit 44;"
vmsish implements the following options.
status- Causes
$?andsystemto return the native VMS exit status instead of emulating the POSIX exit status. exit- Causes
exit 1to produce a successful exit (with statusSS$_NORMAL) instead of emulating Unixexit(), which considersexit 1as an indication of an error. As with the CRTL'sexit()function,exit 0is also mapped to an exit status ofSS$_NORMAL, and any other argument toexit()is used directly as Perl's exit status. time- Makes all times relative to the local time zone instead of the default Universal Time (a.k.a. Greenwich Mean Time, or GMT).
hushed- Suppresses printing of VMS status messages to
SYS$OUTPUTandSYS$ERRORif Perl terminates with an error status and allows programs that are expecting Unix-style Perl to avoid parsing VMS error messages. It does not supress any messages from Perl itself, just the messages generated by DCL after Perl exits. The DCL symbol$STATUSwill still have the termination status, but with a high-order bit set.