package English; our $VERSION = '1.05'; require Exporter; @ISA = qw(Exporter); =head1 NAME English - use nice English (or awk) names for ugly punctuation variables =head1 SYNOPSIS use English qw( -no_match_vars ) ; # Avoids regex performance penalty use English; ... if ($ERRNO =~ /denied/) { ... } =head1 DESCRIPTION This module provides aliases for the built-in variables whose names no one seems to like to read. Variables with side-effects which get triggered just by accessing them (like $0) will still be affected. For those variables that have an B<awk> version, both long and short English alternatives are provided. For example, the C<$/> variable can be referred to either $RS or $INPUT_RECORD_SEPARATOR if you are using the English module. See L<perlvar> for a complete list of these. =head1 PERFORMANCE This module can provoke sizeable inefficiencies for regular expressions, due to unfortunate implementation details. If performance matters in your application and you don't need $PREMATCH, $MATCH, or $POSTMATCH, try doing use English qw( -no_match_vars ) ; . B<It is especially important to do this in modules to avoid penalizing all applications which use them.> =cut no warnings; my $globbed_match ; # Grandfather $NAME import sub import { my $this = shift; my @list = grep { ! /^-no_match_vars$/ } @_ ; local $Exporter::ExportLevel = 1; if ( @_ == @list ) { *EXPORT = \@COMPLETE_EXPORT ; $globbed_match ||= ( eval q{ *MATCH = *& ; *PREMATCH = *` ; *POSTMATCH = *' ; 1 ; } || do { require Carp ; Carp::croak("Can't create English for match leftovers: $@") ; } ) ; } else { *EXPORT = \@MINIMAL_EXPORT ; } Exporter::import($this,grep {s/^\$/*/} @list); } @MINIMAL_EXPORT = qw( *ARG *LAST_PAREN_MATCH *INPUT_LINE_NUMBER *NR *INPUT_RECORD_SEPARATOR *RS *OUTPUT_AUTOFLUSH *OUTPUT_FIELD_SEPARATOR *OFS *OUTPUT_RECORD_SEPARATOR *ORS *LIST_SEPARATOR *SUBSCRIPT_SEPARATOR *SUBSEP *FORMAT_PAGE_NUMBER *FORMAT_LINES_PER_PAGE *FORMAT_LINES_LEFT *FORMAT_NAME *FORMAT_TOP_NAME *FORMAT_LINE_BREAK_CHARACTERS *FORMAT_FORMFEED *CHILD_ERROR *OS_ERROR *ERRNO *EXTENDED_OS_ERROR *EVAL_ERROR *PROCESS_ID *PID *REAL_USER_ID *UID *EFFECTIVE_USER_ID *EUID *REAL_GROUP_ID *GID *EFFECTIVE_GROUP_ID *EGID *PROGRAM_NAME *PERL_VERSION *ACCUMULATOR *COMPILING *DEBUGGING *SYSTEM_FD_MAX *INPLACE_EDIT *PERLDB *BASETIME *WARNING *EXECUTABLE_NAME *OSNAME *LAST_REGEXP_CODE_RESULT *EXCEPTIONS_BEING_CAUGHT *LAST_SUBMATCH_RESULT @LAST_MATCH_START @LAST_MATCH_END ); @MATCH_EXPORT = qw( *MATCH *PREMATCH *POSTMATCH ); @COMPLETE_EXPORT = ( @MINIMAL_EXPORT, @MATCH_EXPORT ) ; # The ground of all being. *ARG = *_ ; # Matching. *LAST_PAREN_MATCH = *+ ; *LAST_SUBMATCH_RESULT = *^N ; *LAST_MATCH_START = *-{ARRAY} ; *LAST_MATCH_END = *+{ARRAY} ; # Input. *INPUT_LINE_NUMBER = *. ; *NR = *. ; *INPUT_RECORD_SEPARATOR = */ ; *RS = */ ; # Output. *OUTPUT_AUTOFLUSH = *| ; *OUTPUT_FIELD_SEPARATOR = *, ; *OFS = *, ; *OUTPUT_RECORD_SEPARATOR = *\ ; *ORS = *\ ; # Interpolation "constants". *LIST_SEPARATOR = *" ; *SUBSCRIPT_SEPARATOR = *; ; *SUBSEP = *; ; # Formats *FORMAT_PAGE_NUMBER = *% ; *FORMAT_LINES_PER_PAGE = *= ; *FORMAT_LINES_LEFT = *- ; *FORMAT_NAME = *~ ; *FORMAT_TOP_NAME = *^ ; *FORMAT_LINE_BREAK_CHARACTERS = *: ; *FORMAT_FORMFEED = *^L ; # Error status. *CHILD_ERROR = *? ; *OS_ERROR = *! ; *ERRNO = *! ; *OS_ERROR = *! ; *ERRNO = *! ; *EXTENDED_OS_ERROR = *^E ; *EVAL_ERROR = *@ ; # Process info. *PROCESS_ID = *$ ; *PID = *$ ; *REAL_USER_ID = *< ; *UID = *< ; *EFFECTIVE_USER_ID = *> ; *EUID = *> ; *REAL_GROUP_ID = *( ; *GID = *( ; *EFFECTIVE_GROUP_ID = *) ; *EGID = *) ; *PROGRAM_NAME = *0 ; # Internals. *PERL_VERSION = *^V ; *ACCUMULATOR = *^A ; *COMPILING = *^C ; *DEBUGGING = *^D ; *SYSTEM_FD_MAX = *^F ; *INPLACE_EDIT = *^I ; *PERLDB = *^P ; *LAST_REGEXP_CODE_RESULT = *^R ; *EXCEPTIONS_BEING_CAUGHT = *^S ; *BASETIME = *^T ; *WARNING = *^W ; *EXECUTABLE_NAME = *^X ; *OSNAME = *^O ; # Deprecated. # *ARRAY_BASE = *[ ; # *OFMT = *# ; # *OLD_PERL_VERSION = *] ; 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
App | Folder | 0755 |
|
|
Archive | Folder | 0755 |
|
|
Attribute | Folder | 0755 |
|
|
B | Folder | 0755 |
|
|
CPAN | Folder | 0755 |
|
|
Class | Folder | 0755 |
|
|
Compress | Folder | 0755 |
|
|
Config | Folder | 0755 |
|
|
DBM_Filter | Folder | 0755 |
|
|
Devel | Folder | 0755 |
|
|
Encode | Folder | 0755 |
|
|
ExtUtils | Folder | 0755 |
|
|
File | Folder | 0755 |
|
|
Filter | Folder | 0755 |
|
|
Getopt | Folder | 0755 |
|
|
HTTP | Folder | 0755 |
|
|
I18N | Folder | 0755 |
|
|
IO | Folder | 0755 |
|
|
IPC | Folder | 0755 |
|
|
JSON | Folder | 0755 |
|
|
LWP | Folder | 0755 |
|
|
Locale | Folder | 0755 |
|
|
Log | Folder | 0755 |
|
|
Math | Folder | 0755 |
|
|
Memoize | Folder | 0755 |
|
|
Module | Folder | 0755 |
|
|
Net | Folder | 0755 |
|
|
Object | Folder | 0755 |
|
|
Package | Folder | 0755 |
|
|
Perl | Folder | 0755 |
|
|
PerlIO | Folder | 0755 |
|
|
Pod | Folder | 0755 |
|
|
Search | Folder | 0755 |
|
|
Term | Folder | 0755 |
|
|
Test | Folder | 0755 |
|
|
Text | Folder | 0755 |
|
|
Thread | Folder | 0755 |
|
|
Tie | Folder | 0755 |
|
|
Time | Folder | 0755 |
|
|
URI | Folder | 0755 |
|
|
Unicode | Folder | 0755 |
|
|
User | Folder | 0755 |
|
|
Version | Folder | 0755 |
|
|
encoding | Folder | 0755 |
|
|
overload | Folder | 0755 |
|
|
pod | Folder | 0755 |
|
|
unicore | Folder | 0755 |
|
|
vendor_perl | Folder | 0755 |
|
|
warnings | Folder | 0755 |
|
|
AnyDBM_File.pm | File | 2.56 KB | 0644 |
|
AutoLoader.pm | File | 14.66 KB | 0644 |
|
AutoSplit.pm | File | 19.18 KB | 0644 |
|
Benchmark.pm | File | 27.87 KB | 0644 |
|
CORE.pod | File | 2.7 KB | 0644 |
|
CPAN.pm | File | 132.91 KB | 0644 |
|
DB.pm | File | 18.43 KB | 0644 |
|
DBM_Filter.pm | File | 14.06 KB | 0644 |
|
DirHandle.pm | File | 1.52 KB | 0644 |
|
Dumpvalue.pm | File | 16.5 KB | 0644 |
|
English.pm | File | 4.34 KB | 0644 |
|
FileCache.pm | File | 5.44 KB | 0644 |
|
FileHandle.pm | File | 6.62 KB | 0644 |
|
FindBin.pm | File | 4.45 KB | 0644 |
|
LWP.pm | File | 21.15 KB | 0644 |
|
Memoize.pm | File | 34.4 KB | 0644 |
|
NEXT.pm | File | 18.05 KB | 0644 |
|
PerlIO.pm | File | 10.19 KB | 0644 |
|
Safe.pm | File | 24.03 KB | 0644 |
|
SelectSaver.pm | File | 1.05 KB | 0644 |
|
SelfLoader.pm | File | 16.97 KB | 0644 |
|
Symbol.pm | File | 4.68 KB | 0644 |
|
Test.pm | File | 28.13 KB | 0644 |
|
Thread.pm | File | 8.09 KB | 0644 |
|
UNIVERSAL.pm | File | 6.97 KB | 0644 |
|
URI.pm | File | 33.01 KB | 0644 |
|
XSLoader.pm | File | 9.99 KB | 0644 |
|
_charnames.pm | File | 29.8 KB | 0644 |
|
autouse.pm | File | 4.14 KB | 0644 |
|
base.pm | File | 6.37 KB | 0644 |
|
bigint.pm | File | 17.44 KB | 0644 |
|
bignum.pm | File | 18.23 KB | 0644 |
|
bigrat.pm | File | 14.11 KB | 0644 |
|
blib.pm | File | 2.04 KB | 0644 |
|
bytes.pm | File | 2.96 KB | 0644 |
|
bytes_heavy.pl | File | 758 B | 0644 |
|
charnames.pm | File | 19.22 KB | 0644 |
|
deprecate.pm | File | 3.01 KB | 0644 |
|
diagnostics.pm | File | 17.96 KB | 0644 |
|
dumpvar.pl | File | 14.96 KB | 0644 |
|
feature.pm | File | 11.06 KB | 0644 |
|
fields.pm | File | 9.28 KB | 0644 |
|
filetest.pm | File | 3.91 KB | 0644 |
|
if.pm | File | 1.13 KB | 0644 |
|
integer.pm | File | 3.19 KB | 0644 |
|
less.pm | File | 3.13 KB | 0644 |
|
locale.pm | File | 2.72 KB | 0644 |
|
lwpcook.pod | File | 9.05 KB | 0644 |
|
lwptut.pod | File | 24.89 KB | 0644 |
|
open.pm | File | 7.83 KB | 0644 |
|
overload.pm | File | 52.66 KB | 0644 |
|
overloading.pm | File | 1.77 KB | 0644 |
|
perl5db.pl | File | 302.79 KB | 0644 |
|
perlfaq.pm | File | 94 B | 0644 |
|
sigtrap.pm | File | 7.46 KB | 0644 |
|
sort.pm | File | 5.95 KB | 0644 |
|
strict.pm | File | 3.84 KB | 0644 |
|
subs.pm | File | 845 B | 0644 |
|
utf8.pm | File | 7.6 KB | 0644 |
|
utf8_heavy.pl | File | 30.1 KB | 0644 |
|
vars.pm | File | 2.3 KB | 0644 |
|
vmsish.pm | File | 4.22 KB | 0644 |
|
warnings.pm | File | 18.34 KB | 0644 |
|