require Exporter;
@ISA = (Exporter);
-local $^W = 0;
+=head1 NAME
+
+English - use nice English (or awk) names for ugly punctuation variables
+
+=head1 SYNOPSIS
+
+ 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 BUGS
+
+This module provokes sizeable inefficiencies for regular expressions,
+due to unfortunate implementation details. If performance matters,
+consider avoiding English.
+
+=cut
+
+no warnings;
# Grandfather $NAME import
sub import {
*CHILD_ERROR
*OS_ERROR
*ERRNO
+ *EXTENDED_OS_ERROR
*EVAL_ERROR
*PROCESS_ID
*PID
*BASETIME
*WARNING
*EXECUTABLE_NAME
+ *OSNAME
+ *LAST_REGEXP_CODE_RESULT
+ *EXCEPTIONS_BEING_CAUGHT
);
-# The ground of all being.
+# The ground of all being. @ARG is deprecated (5.005 makes @_ lexical)
*ARG = *_ ;
*CHILD_ERROR = *? ;
*OS_ERROR = *! ;
*ERRNO = *! ;
+ *EXTENDED_OS_ERROR = *^E ;
*EVAL_ERROR = *@ ;
# Process info.
# Internals.
- *PERL_VERSION = *] ;
+ *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 = *# ;
# *MULTILINE_MATCHING = ** ;
+# *OLD_PERL_VERSION = *] ;
1;