=pod
I>
=head2 General Variables
=over 8
=item *
B<< $_ >> - The default input and pattern-searching space
=item *
B<< @_ >> - Within a subroutine the array C<@_> contains the parameters passed to
that subroutine
=item *
B<< $" >> - When an array or an array slice is interpolated into a double-quoted
string or a similar context such as C, its elements are
separated by this value
=item *
B<< $$ >> - The process number of the Perl running this script
=item *
B<< $0 >> - Contains the name of the program being executed
=item *
B<< $( >> - The real gid of this process
=item *
B<< $) >> - The effective gid of this process
=item *
B<< $< >> - The real uid of this process
=item *
B<< $> >> - The effective uid of this process
=item *
B<< $; >> - The subscript separator for multidimensional array emulation
=item *
B<< $a >>, B<< $b >> - Special package variables when using C, see L
=item *
B<< %ENV >> - The hash C<%ENV> contains your current environment
=item *
B<< $] >> - The revision, version, and subversion of the Perl interpreter, represented
as a decimal of the form 5.XXXYYY, where XXX is the version / 1e3 and YYY
is the subversion / 1e6
=item *
B<< $^F >> - The maximum system file descriptor, ordinarily 2. System file
descriptors are passed to Ced processes, while higher file
descriptors are not
=item *
B<< @F >> - The array C<@F> contains the fields of each line read in when autosplit
mode is turned on
=item *
B<< @INC >> - The array C<@INC> contains the list of places that the C,
C, or C
modifier
=item *
B<< $` >> - The string preceding whatever was matched by the last successful
pattern match
=item *
B<< ${^PREMATCH} >> - It is only guaranteed to return a defined value when the pattern was
executed with the C modifier
=item *
B<< $' >> - The string following whatever was matched by the last successful
pattern match
=item *
B<< ${^POSTMATCH} >> - It is only guaranteed to return a defined value when the pattern was
compiled or executed with the C modifier
=item *
B<< $+ >> - The text matched by the highest used capture group of the last
successful search pattern
=item *
B<< $^N >> - The text matched by the used group most-recently closed (i.e. the group
with the rightmost closing parenthesis) of the last successful match
=item *
B<< @+ >> - This array holds the offsets of the ends of the last successful
match and any matching capture buffers that the pattern contains
=item *
B<< %+ >> - Similar to C<@+>, the C<%+> hash allows access to the named capture
buffers, should they exist, in the last successful match in the
currently active dynamic scope
=item *
B<< @- >> - This array holds the offsets of the beginnings of the last successful
match and any capture buffers it contains
=item *
B<< %- >> - Similar to C<%+>, this variable allows access to the named capture
groups in the last successful match in the currently active dynamic
scope
=item *
B<< ${^LAST_SUCCESSFUL_PATTERN} >> - The last successful pattern that matched in the current scope
=item *
B<< $^R >> - The result of evaluation of the last successful C<(?{ code })>
regular expression assertion (see L)
=item *
B<< ${^RE_COMPILE_RECURSION_LIMIT} >> - The current value giving the maximum number of open but unclosed
parenthetical groups there may be at any point during a regular
expression compilation
=item *
B<< ${^RE_DEBUG_FLAGS} >> - The current value of the regex debugging flags
=item *
B<< ${^RE_TRIE_MAXBUF} >> - Controls how certain regex optimisations are applied and how much memory they
utilize
=back
=head2 Variables related to filehandles
=over 8
=item *
B<< $ARGV >> - Contains the name of the current file when reading from C<< <> >>
=item *
B<< @ARGV >> - The array C<@ARGV> contains the command-line arguments intended for
the script
=item *
B<< ARGV >> - The special filehandle that iterates over command-line filenames in
C<@ARGV>
=item *
B<< ARGVOUT >> - The special filehandle that points to the currently open output file
when doing edit-in-place processing with B<-i>
=item *
B<< $, >> - The output field separator for the print operator
=item *
B<< $. >> - Current line number for the last filehandle accessed
=item *
B<< $/ >> - The input record separator, newline by default
=item *
B<< $\ >> - The output record separator for the print operator
=item *
B<< $| >> - If set to nonzero, forces a flush right away and after every write or
print on the currently selected output channel
=item *
B<< ${^LAST_FH} >> - This read-only variable contains a reference to the last-read filehandle
=back
=head3 Variables related to formats
=over 8
=item *
B<< $^A >> - The current value of the C accumulator for C lines
=item *
B<< $^L >> - What formats output as a form feed
=item *
B<< $% >> - The current page number of the currently selected output channel
=item *
B<< $- >> - The number of lines left on the page of the currently selected output
channel
=item *
B<< $: >> - The current set of characters after which a string may be broken to
fill continuation fields (starting with C<^>) in a format
=item *
B<< $= >> - The current page length (printable lines) of the currently selected
output channel
=item *
B<< $^ >> - The name of the current top-of-page format for the currently selected
output channel
=item *
B<< $~ >> - The name of the current report format for the currently selected
output channel
=back
=head2 Error Variables
X X
=over 8
=item *
B<< ${^CHILD_ERROR_NATIVE} >> - The native status returned by the last pipe close, backtick (C<``>)
command, successful call to C or C, or from the
C operator
=item *
B<< $^E >> - Error information specific to the current operating system
=item *
B<< $^S >> - Current state of the interpreter
=item *
B<< $^W >> - The current value of the warning switch, initially true if B<-w> was
used, false otherwise, but directly modifiable
=item *
B<< ${^WARNING_BITS} >> - The current set of warning checks enabled by the C pragma
=item *
B<< $! >> - When referenced, C<$!> retrieves the current value
of the C C integer variable
=item *
B<< %! >> - Each element of C<%!> has a true value only if C<$!> is set to that
value
=item *
B<< $? >> - The status returned by the last pipe close, backtick (C<``>) command,
successful call to C or C, or from the C
operator
=item *
B<< $@ >> - The Perl error from the last C operator, i.e. the last exception that
was caught
=back
=head2 Variables related to the interpreter state
=over 8
=item *
B<< $^C >> - The current value of the flag associated with the B<-c> switch
=item *
B<< $^D >> - The current value of the debugging flags
=item *
B<< ${^GLOBAL_PHASE} >> - The current phase of the perl interpreter
=item *
B<< $^H >> - This variable contains compile-time hints for the Perl interpreter
=item *
B<< %^H >> - The C<%^H> hash provides the same scoping semantics as L|/$^H>
=item *
B<< ${^OPEN} >> - An internal variable used by L
=item *
B<< $^P >> - The internal variable for debugging support
=item *
B<< ${^TAINT} >> - Reflects if taint mode is on or off
=item *
B<< ${^SAFE_LOCALES} >> - Reflects if safe locale operations are available to this perl (when the
value is 1) or not (the value is 0)
=item *
B<< ${^UNICODE} >> - Reflects certain Unicode settings of Perl
=item *
B<< ${^UTF8CACHE} >> - This variable controls the state of the internal UTF-8 offset caching code
=item *
B<< ${^UTF8LOCALE} >> - This variable indicates whether a UTF-8 locale was detected by perl at
startup
=back
=head2 Deprecated and removed variables
=over 8
=item *
B<< $# >> - C<$#> was a variable that could be used to format printed numbers
=item *
B<< $* >> - C<$*> was a variable that you could use to enable multiline matching
=item *
B<< $[ >> - This variable stores the index of the first element in an array, and
of the first character in a substring
=item *
B<< ${^ENCODING} >> - It used to hold the I