.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
.\" ========================================================================
.de Sh \" Subsection heading
.de Sp \" Vertical space (when we can't use .PP)
.de Vb \" Begin verbatim text
.de Ve \" End verbatim text
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
. tm Index:\\$1\t\\n%\t"\\$2"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. \" simple accents for nroff and troff
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
.\" ========================================================================
.TH vmsish 3 "2001-09-21" "perl v5.8.8" "Perl Programmers Reference Guide"
vmsish \- Perl pragma to control VMS\-specific language features
\& use vmsish 'status'; # or '$?'
\& vmsish::hushed($hush);
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'.
If you're not running \s-1VMS\s0, this module does nothing.
.ie n .IP """vmsish status""" 6
.el .IP "\f(CWvmsish status\fR" 6
This makes \f(CW$?\fR and \f(CW\*(C`system\*(C'\fR return the native \s-1VMS\s0 exit status
instead of emulating the \s-1POSIX\s0 exit status.
.ie n .IP """vmsish exit""" 6
.el .IP "\f(CWvmsish exit\fR" 6
This makes \f(CW\*(C`exit 1\*(C'\fR produce a successful exit (with status \s-1SS$_NORMAL\s0),
instead of emulating \s-1UNIX\s0 \fIexit()\fR, which considers \f(CW\*(C`exit 1\*(C'\fR to indicate
an error. As with the \s-1CRTL\s0's \fIexit()\fR function, \f(CW\*(C`exit 0\*(C'\fR is also mapped
to an exit status of \s-1SS$_NORMAL\s0, and any other argument to \fIexit()\fR is
used directly as Perl's exit status.
.ie n .IP """vmsish time""" 6
.el .IP "\f(CWvmsish time\fR" 6
This makes all times relative to the local time zone, instead of the
default of Universal Time (a.k.a Greenwich Mean Time, or \s-1GMT\s0).
.ie n .IP """vmsish hushed""" 6
.el .IP "\f(CWvmsish hushed\fR" 6
This suppresses printing of \s-1VMS\s0 status messages to \s-1SYS$OUTPUT\s0 and
\&\s-1SYS$ERROR\s0 if Perl terminates with an error status. and allows
programs that are expecting \*(L"unix\-style\*(R" Perl to avoid having to parse
\&\s-1VMS\s0 error messages. It does not suppress any messages from Perl
itself, just the messages generated by \s-1DCL\s0 after Perl exits. The \s-1DCL\s0
symbol \f(CW$STATUS\fR will still have the termination status, but with a
$ perl \-e\*(L"exit 44;\*(R" Non-hushed error exit
\f(CW%SYSTEM\fR\-F\-ABORT, abort \s-1DCL\s0 message
$ show sym \f(CW$STATUS\fR
\f(CW$STATUS\fR == \*(L"%X0000002C\*(R"
\& $ perl -e"use vmsish qw(hushed); exit 44;" Hushed error exit
\& $STATUS == "%X1000002C"
The 'hushed' flag has a global scope during compilation: the \fIexit()\fR or
\&\fIdie()\fR commands that are compiled after 'vmsish hushed' will be hushed
when they are executed. Doing a \*(L"no vmsish 'hushed'\*(R" turns off the
The status of the hushed flag also affects output of \s-1VMS\s0 error
messages from compilation errors. Again, you still get the Perl
error message (and the code in \f(CW$STATUS\fR)
use vmsish 'hushed'; # turn on hushed flag
use Carp; # Carp compiled hushed
exit 44; # will be hushed
croak('I die'); # will be hushed
no vmsish 'hushed'; # turn off hushed flag
exit 44; # will not be hushed
croak('I die2'): # \s-1WILL\s0 be hushed, croak was compiled hushed
You can also control the 'hushed' flag at run\-time, using the built-in
routine \fIvmsish::hushed()\fR. Without argument, it returns the hushed status.
Since vmsish::hushed is built\-in, you do not need to \*(L"use vmsish\*(R" to call
\fIvmsish::hushed\fR\|(1);
print \*(L"Sssshhhh...I'm hushed...\en\*(R" if \fIvmsish::hushed()\fR;
Note that an \fIexit()\fR or \fIdie()\fR that is compiled 'hushed' because of \*(L"use
vmsish\*(R" is not un-hushed by calling \fIvmsish::hushed\fR\|(0) at runtime.
The messages from error exits from inside the Perl core are generally
more serious, and are not suppressed.
See \*(L"Pragmatic Modules\*(R" in perlmod.