#  Include the English library file in a Ruby script, and you can
#  reference the global variables such as \VAR{\$\_} using less
#  cryptic names, listed in the following table.% \vref{tab:english}.
#
#  Without 'English':
#
#      $\ = ' -- '
#      "waterbuffalo" =~ /buff/
#      print $", $', $$, "\n"
#
#  With English:
#
#      require "English"
#      
#      $OUTPUT_FIELD_SEPARATOR = ' -- '
#      "waterbuffalo" =~ /buff/
#      print $LOADED_FEATURES, $POSTMATCH, $PID, "\n"
# The exception object passed to +raise+.
alias $ERROR_INFO              $!
# The stack backtrace generated by the last
# exception. See Kernel.caller for details. Thread local.
alias $ERROR_POSITION          $@
# The default separator pattern used by String.split.  May be
# set from the command line using the -F flag.
alias $FS                      $;
# The default separator pattern used by String.split.  May be
# set from the command line using the -F flag.
alias $FIELD_SEPARATOR         $;
# The separator string output between the parameters to methods such
# as Kernel.print and Array.join. Defaults to +nil+,
# which adds no text.
alias $OFS                     $,
# The separator string output between the parameters to methods such
# as Kernel.print and Array.join. Defaults to +nil+,
# which adds no text.
alias $OUTPUT_FIELD_SEPARATOR  $,
# The input record separator (newline by default). This is the value
# that routines such as Kernel.gets use to determine record
# boundaries. If set to +nil+, +gets+ will read the entire file.
alias $RS                      $/
# The input record separator (newline by default). This is the value
# that routines such as Kernel.gets use to determine record
# boundaries. If set to +nil+, +gets+ will read the entire file.
alias $INPUT_RECORD_SEPARATOR  $/
# The string appended to the output of every call to methods such as
# Kernel.print and IO.write. The default value is
# +nil+.
alias $ORS                     $\
# The string appended to the output of every call to methods such as
# Kernel.print and IO.write. The default value is
# +nil+.
alias $OUTPUT_RECORD_SEPARATOR $\
# The number of the last line read from the current input file.
alias $INPUT_LINE_NUMBER       $.
# The number of the last line read from the current input file.
alias $NR                      $.
# The last line read by Kernel.gets or
# Kernel.readline. Many string-related functions in the
# +Kernel+ module operate on $_ by default. The variable is
# local to the current scope. Thread local.
alias $LAST_READ_LINE          $_
# The destination of output for Kernel.print
# and Kernel.printf. The default value is
# $stdout.
alias $DEFAULT_OUTPUT          $>
# An object that provides access to the concatenation
# of the contents of all the files
# given as command-line arguments, or $stdin
# (in the case where there are no
# arguments). $< supports methods similar to a 
# +File+ object:
# +inmode+, +close+,
# closed?, +each+,
# each_byte, each_line,
# +eof+, eof?, +file+,
# +filename+, +fileno+,
# +getc+, +gets+, +lineno+,
# lineno=, +path+, 
# +pos+, pos=,
# +read+, +readchar+,
# +readline+, +readlines+,
# +rewind+, +seek+, +skip+,
# +tell+, to_a, to_i,
# to_io, to_s, along with the
# methods in +Enumerable+. The method +file+
# returns a +File+ object for the file currently
# being read. This may change as $< reads
# through the files on the command line. Read only.
alias $DEFAULT_INPUT           $<
# The process number of the program being executed. Read only.
alias $PID                     $$
# The process number of the program being executed. Read only.
alias $PROCESS_ID              $$
# The exit status of the last child process to terminate. Read
# only. Thread local.
alias $CHILD_STATUS            $?
# A +MatchData+ object that encapsulates the results of a successful
# pattern match. The variables $&, $`, $',
# and $1 to $9 are all derived from
# $~. Assigning to $~ changes the values of these
# derived variables.  This variable is local to the current
# scope. Thread local.
alias $LAST_MATCH_INFO         $~
# If set to any value apart from +nil+ or +false+, all pattern matches
# will be case insensitive, string comparisons will ignore case, and
# string hash values will be case insensitive. Deprecated
alias $IGNORECASE              $=
# An array of strings containing the command-line
# options from the invocation of the program. Options
# used by the Ruby interpreter will have been
# removed. Read only. Also known simply as +ARGV+.
alias $ARGV                    $*
# The string matched by the last successful pattern
# match. This variable is local to the current
# scope. Read only. Thread local.
alias $MATCH                   $&
# The string preceding the match in the last
# successful pattern match. This variable is local to 
# the current scope. Read only. Thread local.
alias $PREMATCH                $`
# The string following the match in the last
# successful pattern match. This variable is local to 
# the current scope. Read only. Thread local.
alias $POSTMATCH               $'
# The contents of the highest-numbered group matched in the last
# successful pattern match. Thus, in "cat" =~ /(c|a)(t|z)/,
# $+ will be set to "t".  This variable is local to the
# current scope. Read only. Thread local.
alias $LAST_PAREN_MATCH        $+