vmsish - Perl pragma to control VMS-specific language features
use vmsish; use vmsish 'status'; # or '$?' use vmsish 'exit'; use vmsish 'time'; use vmsish 'hushed'; use vmsish; no vmsish 'time';
If no import list is supplied, all possible VMS-specific features are assumed. Currently, there are four VMS-specific features available: 'status' (a.k.a '$?'), 'exit', 'time' and 'hushed'.
system return the native VMS exit status instead of emulating the POSIX exit status.
exit 1 produce a successful exit (with status SS$_NORMAL), instead of emulating UNIX exit(), which considers
exit 1 to indicate an error. As with the CRTL's exit() function,
exit 0 is also mapped to an exit status of SS$_NORMAL, and any other argument to exit() is used directly as Perl's exit status.
This makes all times relative to the local time zone, instead of the default of Universal Time (a.k.a Greenwich Mean Time, or GMT).
This supresses printing of VMS status messages to SYS$OUTPUT and SYS$ERROR if Perl terminates with an error status. This primarily effects error exits from things like compiler errors or "standard Perl" runtime errors, where text error messages are also generated by Perl.
The error exits from inside VMS.C are generally more serious, and are not supressed.