/
usr
/
share
/
perl5
/
/usr/share/perl5
mkdir
upload
Name
Size
Mode
Actions
Attribute/
-
0755
rm
B/
-
0755
rm
Class/
-
0755
rm
Compress/
-
0755
rm
Config/
-
0755
rm
CPAN/
-
0755
rm
DBM_Filter/
-
0755
rm
Devel/
-
0755
rm
encoding/
-
0755
rm
ExtUtils/
-
0755
rm
File/
-
0755
rm
Getopt/
-
0755
rm
I18N/
-
0755
rm
IO/
-
0755
rm
IPC/
-
0755
rm
Locale/
-
0755
rm
Math/
-
0755
rm
Memoize/
-
0755
rm
Module/
-
0755
rm
Net/
-
0755
rm
overload/
-
0755
rm
Pod/
-
0755
rm
pod/
-
0755
rm
Search/
-
0755
rm
Term/
-
0755
rm
Text/
-
0755
rm
Thread/
-
0755
rm
Tie/
-
0755
rm
Time/
-
0755
rm
Unicode/
-
0755
rm
unicore/
-
0755
rm
URI/
-
0755
rm
User/
-
0755
rm
vendor_perl/
-
0755
rm
warnings/
-
0755
rm
AnyDBM_File.pm
2618
0644
edit
dl
rm
AutoLoader.pm
15797
0644
edit
dl
rm
AutoSplit.pm
19637
0644
edit
dl
rm
autouse.pm
4238
0644
edit
dl
rm
base.pm
10961
0644
edit
dl
rm
Benchmark.pm
31026
0644
edit
dl
rm
blib.pm
2062
0644
edit
dl
rm
bytes.pm
3740
0644
edit
dl
rm
bytes_heavy.pl
758
0644
edit
dl
rm
charnames.pm
20931
0644
edit
dl
rm
CORE.pod
3188
0644
edit
dl
rm
DB.pm
18922
0644
edit
dl
rm
DBM_Filter.pm
14385
0644
edit
dl
rm
deprecate.pm
4603
0644
edit
dl
rm
diagnostics.pm
19299
0644
edit
dl
rm
DirHandle.pm
2085
0644
edit
dl
rm
Dumpvalue.pm
17668
0644
edit
dl
rm
dumpvar.pl
15555
0644
edit
dl
rm
English.pm
4761
0644
edit
dl
rm
feature.pm
19003
0644
edit
dl
rm
fields.pm
9475
0644
edit
dl
rm
FileCache.pm
5549
0644
edit
dl
rm
FileHandle.pm
6784
0644
edit
dl
rm
filetest.pm
4003
0644
edit
dl
rm
FindBin.pm
4561
0644
edit
dl
rm
if.pm
3611
0644
edit
dl
rm
integer.pm
3254
0644
edit
dl
rm
Internals.pod
2575
0644
edit
dl
rm
less.pm
3204
0644
edit
dl
rm
locale.pm
4855
0644
edit
dl
rm
Memoize.pm
36192
0644
edit
dl
rm
meta_notation.pm
2117
0644
edit
dl
rm
NEXT.pm
18985
0644
edit
dl
rm
open.pm
8512
0644
edit
dl
rm
overload.pm
53302
0644
edit
dl
rm
overloading.pm
1808
0644
edit
dl
rm
perl5db.pl
317094
0644
edit
dl
rm
PerlIO.pm
14441
0644
edit
dl
rm
Safe.pm
25364
0644
edit
dl
rm
SelectSaver.pm
1076
0644
edit
dl
rm
SelfLoader.pm
17686
0644
edit
dl
rm
sigtrap.pm
8736
0644
edit
dl
rm
sort.pm
3911
0644
edit
dl
rm
strict.pm
4738
0644
edit
dl
rm
subs.pm
901
0644
edit
dl
rm
Symbol.pm
4799
0644
edit
dl
rm
Test.pm
30042
0644
edit
dl
rm
Thread.pm
8289
0644
edit
dl
rm
UNIVERSAL.pm
6594
0644
edit
dl
rm
URI.pm
34954
0644
edit
dl
rm
utf8.pm
10423
0644
edit
dl
rm
vars.pm
2458
0644
edit
dl
rm
vmsish.pm
4313
0644
edit
dl
rm
warnings.pm
50537
0644
edit
dl
rm
XSLoader.pm
11252
0644
edit
dl
rm
_charnames.pm
34151
0644
edit
dl
rm
Edit:
/usr/share/perl5/vmsish.pm
(4313B)
package vmsish; our $VERSION = '1.04'; =head1 NAME vmsish - Perl pragma to control VMS-specific language features =head1 SYNOPSIS use vmsish; use vmsish 'status'; # or '$?' use vmsish 'exit'; use vmsish 'time'; use vmsish 'hushed'; no vmsish 'hushed'; vmsish::hushed($hush); use vmsish; no vmsish 'time'; =head1 DESCRIPTION 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 VMS, this module does nothing. =over 6 =item C<vmsish status> This makes C<$?> and C<system> return the native VMS exit status instead of emulating the POSIX exit status. =item C<vmsish exit> This makes C<exit 1> produce a successful exit (with status SS$_NORMAL), instead of emulating UNIX exit(), which considers C<exit 1> to indicate an error. As with the CRTL's exit() function, C<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. =item C<vmsish time> 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). =item C<vmsish hushed> This suppresses printing of VMS status messages to SYS$OUTPUT and SYS$ERROR if Perl terminates with an error status, and allows programs that are expecting "unix-style" Perl to avoid having to parse VMS error messages. It does not suppress any messages from Perl itself, just the messages generated by DCL after Perl exits. The DCL symbol $STATUS will still have the termination status, but with a high-order bit set: EXAMPLE: $ perl -e"exit 44;" Non-hushed error exit %SYSTEM-F-ABORT, abort DCL message $ show sym $STATUS $STATUS == "%X0000002C" $ perl -e"use vmsish qw(hushed); exit 44;" Hushed error exit $ show sym $STATUS $STATUS == "%X1000002C" The 'hushed' flag has a global scope during compilation: the exit() or die() commands that are compiled after 'vmsish hushed' will be hushed when they are executed. Doing a "no vmsish 'hushed'" turns off the hushed flag. The status of the hushed flag also affects output of VMS error messages from compilation errors. Again, you still get the Perl error message (and the code in $STATUS) EXAMPLE: 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'): # WILL be hushed, croak was compiled hushed You can also control the 'hushed' flag at run-time, using the built-in routine vmsish::hushed(). Without argument, it returns the hushed status. Since vmsish::hushed is built-in, you do not need to "use vmsish" to call it. EXAMPLE: if ($quiet_exit) { vmsish::hushed(1); } print "Sssshhhh...I'm hushed...\n" if vmsish::hushed(); exit 44; Note that an exit() or die() that is compiled 'hushed' because of "use vmsish" is not un-hushed by calling vmsish::hushed(0) at runtime. The messages from error exits from inside the Perl core are generally more serious, and are not suppressed. =back See L<perlmod/Perl Modules>. =cut my $IsVMS = $^O eq 'VMS'; sub bits { my $bits = 0; my $sememe; foreach $sememe (@_) { # Those hints are defined in vms/vmsish.h : # HINT_M_VMSISH_STATUS and HINT_M_VMSISH_TIME $bits |= 0x40000000, next if $sememe eq 'status' || $sememe eq '$?'; $bits |= 0x80000000, next if $sememe eq 'time'; } $bits; } sub import { return unless $IsVMS; shift; $^H |= bits(@_ ? @_ : qw(status time)); my $sememe; foreach $sememe (@_ ? @_ : qw(exit hushed)) { $^H{'vmsish_exit'} = 1 if $sememe eq 'exit'; vmsish::hushed(1) if $sememe eq 'hushed'; } } sub unimport { return unless $IsVMS; shift; $^H &= ~ bits(@_ ? @_ : qw(status time)); my $sememe; foreach $sememe (@_ ? @_ : qw(exit hushed)) { $^H{'vmsish_exit'} = 0 if $sememe eq 'exit'; vmsish::hushed(0) if $sememe eq 'hushed'; } } 1;
Save
cmd:
run