5 vmsish - Perl pragma to control VMS-specific language features
11 use vmsish 'status'; # or '$?'
20 If no import list is supplied, all possible VMS-specific features are
21 assumed. Currently, there are three VMS-specific features available:
22 'status' (a.k.a '$?'), 'exit', and 'time'.
26 =item C<vmsish status>
28 This makes C<$?> and C<system> return the native VMS exit status
29 instead of emulating the POSIX exit status.
33 This makes C<exit 1> produce a successful exit (with status SS$_NORMAL),
34 instead of emulating UNIX exit(), which considers C<exit 1> to indicate
35 an error. As with the CRTL's exit() function, C<exit 0> is also mapped
36 to an exit status of SS$_NORMAL, and any other argument to exit() is
37 used directly as Perl's exit status.
41 This makes all times relative to the local time zone, instead of the
42 default of Universal Time (a.k.a Greenwich Mean Time, or GMT).
46 See L<perlmod/Pragmatic Modules>.
52 Carp::croak("This isn't VMS");
58 foreach $sememe (@_) {
59 $bits |= 0x20000000, next if $sememe eq 'status' || $sememe eq '$?';
60 $bits |= 0x40000000, next if $sememe eq 'exit';
61 $bits |= 0x80000000, next if $sememe eq 'time';
68 $^H |= bits(@_ ? @_ : qw(status exit time));
73 $^H &= ~ bits(@_ ? @_ : qw(status exit time));