This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regcomp.h: Fold 2 ANYOF flags into a single one
[perl5.git] / lib / English.pm
index 1ebc3de..efd61ff 100644 (file)
@@ -1,7 +1,9 @@
 package English;
 
+our $VERSION = '1.09';
+
 require Exporter;
-@ISA = (Exporter);
+@ISA = qw(Exporter);
 
 =head1 NAME
 
@@ -9,8 +11,10 @@ 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;
+    use English qw( -no_match_vars ) ;  # Avoids regex performance
+                                        # penalty in perl 5.16 and
+                                        # earlier
     ...
     if ($ERRNO =~ /denied/) { ... }
 
@@ -30,6 +34,10 @@ See L<perlvar> for a complete list of these.
 
 =head1 PERFORMANCE
 
+NOTE: This was fixed in perl 5.20.  Mentioning these three variables no
+longer makes a speed difference.  This section still applies if your code
+is to run on perl 5.18 or earlier.
+
 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,
@@ -56,13 +64,13 @@ sub import {
         $globbed_match ||= (
            eval q{
                *MATCH                          = *&    ;
-               *PREMATCH                               = *`    ;
-               *POSTMATCH                              = *'    ;
+               *PREMATCH                       = *`    ;
+               *POSTMATCH                      = *'    ;
                1 ;
               }
            || do {
                require Carp ;
-               Carp::croak "Can't create English for match leftovers: $@" ;
+               Carp::croak("Can't create English for match leftovers: $@") ;
            }
        ) ;
     }
@@ -111,7 +119,9 @@ sub import {
        *EGID
        *PROGRAM_NAME
        *PERL_VERSION
+       *OLD_PERL_VERSION
        *ACCUMULATOR
+       *COMPILING
        *DEBUGGING
        *SYSTEM_FD_MAX
        *INPLACE_EDIT
@@ -122,6 +132,7 @@ sub import {
        *OSNAME
        *LAST_REGEXP_CODE_RESULT
        *EXCEPTIONS_BEING_CAUGHT
+       *LAST_SUBMATCH_RESULT
        @LAST_MATCH_START
        @LAST_MATCH_END
 );
@@ -135,13 +146,14 @@ sub import {
 
 @COMPLETE_EXPORT = ( @MINIMAL_EXPORT, @MATCH_EXPORT ) ;
 
-# The ground of all being. @ARG is deprecated (5.005 makes @_ lexical)
+# The ground of all being.
 
        *ARG                                    = *_    ;
 
 # Matching.
 
        *LAST_PAREN_MATCH                       = *+    ;
+       *LAST_SUBMATCH_RESULT                   = *^N ;
        *LAST_MATCH_START                       = *-{ARRAY} ;
        *LAST_MATCH_END                         = *+{ARRAY} ;
 
@@ -181,6 +193,8 @@ sub import {
        *CHILD_ERROR                            = *?    ;
        *OS_ERROR                               = *!    ;
            *ERRNO                              = *!    ;
+       *OS_ERROR                               = *!    ;
+           *ERRNO                              = *!    ;
        *EXTENDED_OS_ERROR                      = *^E   ;
        *EVAL_ERROR                             = *@    ;
 
@@ -201,6 +215,7 @@ sub import {
 # Internals.
 
        *PERL_VERSION                           = *^V   ;
+       *OLD_PERL_VERSION                       = *]    ;
        *ACCUMULATOR                            = *^A   ;
        *COMPILING                              = *^C   ;
        *DEBUGGING                              = *^D   ;
@@ -218,7 +233,5 @@ sub import {
 
 #      *ARRAY_BASE                             = *[    ;
 #      *OFMT                                   = *#    ;
-#      *MULTILINE_MATCHING                     = **    ;
-#      *OLD_PERL_VERSION                       = *]    ;
 
 1;