source: trunk/third/perl/lib/English.pm @ 17035

Revision 17035, 3.6 KB checked in by zacheiss, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17034, which included commits to RCS files with non-trunk default branches.
Line 
1package English;
2
3require Exporter;
4@ISA = (Exporter);
5
6=head1 NAME
7
8English - use nice English (or awk) names for ugly punctuation variables
9
10=head1 SYNOPSIS
11
12    use English;
13    ...
14    if ($ERRNO =~ /denied/) { ... }
15
16=head1 DESCRIPTION
17
18This module provides aliases for the built-in variables whose
19names no one seems to like to read.  Variables with side-effects
20which get triggered just by accessing them (like $0) will still
21be affected.
22
23For those variables that have an B<awk> version, both long
24and short English alternatives are provided.  For example,
25the C<$/> variable can be referred to either $RS or
26$INPUT_RECORD_SEPARATOR if you are using the English module.
27
28See L<perlvar> for a complete list of these.
29
30=head1 BUGS
31
32This module provokes sizeable inefficiencies for regular expressions,
33due to unfortunate implementation details.  If performance matters,
34consider avoiding English.
35
36=cut
37
38no warnings;
39
40# Grandfather $NAME import
41sub import {
42    my $this = shift;
43    my @list = @_;
44    local $Exporter::ExportLevel = 1;
45    Exporter::import($this,grep {s/^\$/*/} @list);
46}
47
48@EXPORT = qw(
49        *ARG
50        *MATCH
51        *PREMATCH
52        *POSTMATCH
53        *LAST_PAREN_MATCH
54        *INPUT_LINE_NUMBER
55        *NR
56        *INPUT_RECORD_SEPARATOR
57        *RS
58        *OUTPUT_AUTOFLUSH
59        *OUTPUT_FIELD_SEPARATOR
60        *OFS
61        *OUTPUT_RECORD_SEPARATOR
62        *ORS
63        *LIST_SEPARATOR
64        *SUBSCRIPT_SEPARATOR
65        *SUBSEP
66        *FORMAT_PAGE_NUMBER
67        *FORMAT_LINES_PER_PAGE
68        *FORMAT_LINES_LEFT
69        *FORMAT_NAME
70        *FORMAT_TOP_NAME
71        *FORMAT_LINE_BREAK_CHARACTERS
72        *FORMAT_FORMFEED
73        *CHILD_ERROR
74        *OS_ERROR
75        *ERRNO
76        *EXTENDED_OS_ERROR
77        *EVAL_ERROR
78        *PROCESS_ID
79        *PID
80        *REAL_USER_ID
81        *UID
82        *EFFECTIVE_USER_ID
83        *EUID
84        *REAL_GROUP_ID
85        *GID
86        *EFFECTIVE_GROUP_ID
87        *EGID
88        *PROGRAM_NAME
89        *PERL_VERSION
90        *ACCUMULATOR
91        *DEBUGGING
92        *SYSTEM_FD_MAX
93        *INPLACE_EDIT
94        *PERLDB
95        *BASETIME
96        *WARNING
97        *EXECUTABLE_NAME
98        *OSNAME
99        *LAST_REGEXP_CODE_RESULT
100        *EXCEPTIONS_BEING_CAUGHT
101        @LAST_MATCH_START
102        @LAST_MATCH_END
103);
104
105# The ground of all being. @ARG is deprecated (5.005 makes @_ lexical)
106
107        *ARG                                    = *_    ;
108
109# Matching.
110
111        *MATCH                                  = *&    ;
112        *PREMATCH                               = *`    ;
113        *POSTMATCH                              = *'    ;
114        *LAST_PAREN_MATCH                       = *+    ;
115        *LAST_MATCH_START                       = *-{ARRAY} ;
116        *LAST_MATCH_END                         = *+{ARRAY} ;
117
118# Input.
119
120        *INPUT_LINE_NUMBER                      = *.    ;
121            *NR                                 = *.    ;
122        *INPUT_RECORD_SEPARATOR                 = */    ;
123            *RS                                 = */    ;
124
125# Output.
126
127        *OUTPUT_AUTOFLUSH                       = *|    ;
128        *OUTPUT_FIELD_SEPARATOR                 = *,    ;
129            *OFS                                = *,    ;
130        *OUTPUT_RECORD_SEPARATOR                = *\    ;
131            *ORS                                = *\    ;
132
133# Interpolation "constants".
134
135        *LIST_SEPARATOR                         = *"    ;
136        *SUBSCRIPT_SEPARATOR                    = *;    ;
137            *SUBSEP                             = *;    ;
138
139# Formats
140
141        *FORMAT_PAGE_NUMBER                     = *%    ;
142        *FORMAT_LINES_PER_PAGE                  = *=    ;
143        *FORMAT_LINES_LEFT                      = *-    ;
144        *FORMAT_NAME                            = *~    ;
145        *FORMAT_TOP_NAME                        = *^    ;
146        *FORMAT_LINE_BREAK_CHARACTERS           = *:    ;
147        *FORMAT_FORMFEED                        = *^L   ;
148
149# Error status.
150
151        *CHILD_ERROR                            = *?    ;
152        *OS_ERROR                               = *!    ;
153            *ERRNO                              = *!    ;
154        *EXTENDED_OS_ERROR                      = *^E   ;
155        *EVAL_ERROR                             = *@    ;
156
157# Process info.
158
159        *PROCESS_ID                             = *$    ;
160            *PID                                = *$    ;
161        *REAL_USER_ID                           = *<    ;
162            *UID                                = *<    ;
163        *EFFECTIVE_USER_ID                      = *>    ;
164            *EUID                               = *>    ;
165        *REAL_GROUP_ID                          = *(    ;
166            *GID                                = *(    ;
167        *EFFECTIVE_GROUP_ID                     = *)    ;
168            *EGID                               = *)    ;
169        *PROGRAM_NAME                           = *0    ;
170
171# Internals.
172
173        *PERL_VERSION                           = *^V   ;
174        *ACCUMULATOR                            = *^A   ;
175        *COMPILING                              = *^C   ;
176        *DEBUGGING                              = *^D   ;
177        *SYSTEM_FD_MAX                          = *^F   ;
178        *INPLACE_EDIT                           = *^I   ;
179        *PERLDB                                 = *^P   ;
180        *LAST_REGEXP_CODE_RESULT                = *^R   ;
181        *EXCEPTIONS_BEING_CAUGHT                = *^S   ;
182        *BASETIME                               = *^T   ;
183        *WARNING                                = *^W   ;
184        *EXECUTABLE_NAME                        = *^X   ;
185        *OSNAME                                 = *^O   ;
186
187# Deprecated.
188
189#       *ARRAY_BASE                             = *[    ;
190#       *OFMT                                   = *#    ;
191#       *MULTILINE_MATCHING                     = **    ;
192#       *OLD_PERL_VERSION                       = *]    ;
193
1941;
Note: See TracBrowser for help on using the repository browser.