=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<< $( >> - The real gid of this process =item * B<< $) >> - The effective gid of this process =item * B<< $0 >> - Contains the name of the program being executed =item * B<< $; >> - The subscript separator for multidimensional array emulation =item * B<< $< >> - The real uid of this process =item * B<< $> >> - The effective uid of this process =item * B<< $a >>, B<< $b >> - Special package variables when using C, see L =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<< ${^ENCODING} >> - The I to the C object that is used to convert the source code to Unicode =item * B<< %ENV >> - The hash C<%ENV> contains your current environment =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<< ${^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 semantic as C<$^H> =item * B<< @INC >> - The array C<@INC> contains the list of places that the C, C, or C constructs look for their library files =item * B<< %INC >> - The hash C<%INC> contains entries for each filename included via the C, C, or C operators =item * B<< $^I >> - The current value of the inplace-edit extension =item * B<< $^M >> - Perl can use the contents of C<$^M> as an emergency memory pool after Cing =item * B<< $^O >> - The name of the operating system under which this copy of Perl was built, as determined during the configuration process =item * B<< ${^OPEN} >> - An internal variable used by PerlIO =item * B<< $^P >> - The internal variable for debugging support =item * B<< %SIG >> - The hash C<%SIG> contains signal handlers for signals =item * B<< $^T >> - The time at which the program began running, in seconds since the epoch (beginning of 1970) =item * B<< ${^TAINT} >> - Reflects if taint mode is on or off =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 =item * B<< $^V >> - The revision, version, and subversion of the Perl interpreter, represented as a C object =item * B<< ${^WIN32_SLOPPY_STAT} >> - If this variable is set to a true value, then C on Windows will not try to open the file =item * B<< $^X >> - The name used to execute the current copy of Perl, from C's C or (where supported) F =back =head2 Variables related to regular expressions =over 8 =item * B<< $> ($1, $2, ...) >> - Contains the subpattern from the corresponding set of capturing parentheses from the last successful pattern match, not counting patterns matched in nested blocks that have been exited already =item * B<< $& >> - The string matched by the last successful pattern match (not counting any matches hidden within a BLOCK or C enclosed by the current BLOCK) =item * B<< ${^MATCH} >> - This is similar to C<$&> (C<$MATCH>) except that it does not incur the performance penalty associated with that variable, and is only guaranteed to return a defined value when the pattern was compiled or executed with the C

modifier =item * B<< $` >> - The string preceding whatever was matched by the last successful pattern match, not counting any matches hidden within a BLOCK or C enclosed by the current BLOCK =item * B<< ${^PREMATCH} >> - This is similar to C<$`> ($PREMATCH) except that it does not incur the performance penalty associated with that variable, and is only guaranteed to return a defined value when the pattern was compiled or executed with the C

modifier =item * B<< $' >> - The string following whatever was matched by the last successful pattern match (not counting any matches hidden within a BLOCK or C enclosed by the current BLOCK) =item * B<< ${^POSTMATCH} >> - This is similar to C<$'> (C<$POSTMATCH>) except that it does not incur the performance penalty associated with that variable, and 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 last bracket 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 search pattern =item * B<< @+ >> - This array holds the offsets of the ends of the last successful submatches in the currently active dynamic scope =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<< @- >> - C<$-[0]> is the offset of the start of the last successful match =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<< $^R >> - The result of evaluation of the last successful C<(?{ code })> regular expression assertion (see L) =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 =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<< $! >> - If used numerically, yields the current value of the C C variable, or in other words, if a system or library call fails, it sets this 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 syntax error message from the last C operator =back =head2 Deprecated and removed variables =over 8 =item * B<< $# >> - C<$#> was a variable that you could be use 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<< $] >> - The version + patchlevel / 1000 of the Perl interpreter =back