=pod I> =head2 Predefined Names =over 8 =item * B<< $_ >> - The default input and pattern-searching space =back =over 8 =item * B<< $a >>, B<< $b >> - Special package variables when using sort(), see L =back =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 eval() 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 eval 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 eval() 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<< $. >> - Current line number for the last filehandle accessed =item * B<< $/ >> - The input record separator, newline by default =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<< $, >> - The output field separator for the print operator =item * B<< $\ >> - The output record separator for the print operator =item * B<< $" >> - This is like C<$,> except that it applies to array and slice values interpolated into a double-quoted string (or similar interpreted string) =item * B<< $; >> - The subscript separator for multidimensional array emulation =item * B<< $% >> - The current page number of the currently selected output channel =item * B<< $= >> - The current page length (printable lines) of the currently selected output channel =item * B<< $- >> - The number of lines left on the page of the currently selected output channel =item * B<< @- >> - $-[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 buffers in the last successful match in the currently active dynamic scope =item * B<< $~ >> - The name of the current report format for 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 current set of characters after which a string may be broken to fill continuation fields (starting with ^) in a format =item * B<< $^L >> - What formats output as a form feed =item * B<< $^A >> - The current value of the write() accumulator for format() lines =item * B<< $? >> - The status returned by the last pipe close, backtick (C<``>) command, successful call to wait() or waitpid(), or from the system() operator =item * B<< ${^CHILD_ERROR_NATIVE} >> - The native status returned by the last pipe close, backtick (C<``>) command, successful call to wait() or waitpid(), or from the system() operator =item * B<< ${^ENCODING} >> - The I to the Encode object that is used to convert the source code to Unicode =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<< $^E >> - Error information specific to the current operating system =item * B<< $@ >> - The Perl syntax error message from the last eval() operator =item * B<< $$ >> - The process number of the Perl running this script =item * B<< $< >> - The real uid of this process =item * B<< $> >> - The effective uid of this process =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 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 =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<< ${^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 =item * B<< $^F >> - The maximum system file descriptor, ordinarily 2. System file descriptors are passed to exec()ed processes, while higher file descriptors are not =item * B<< $^H >> - This variable contains compile-time hints for the Perl interpreter =item * B<< %^H >> - The %^H hash provides the same scoping semantic as $^H. This makes it useful for implementation of lexically scoped pragmas =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 die()ing =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<< $^R >> - The result of evaluation of the last successful C<(?{ code })> regular expression assertion (see L) =item * B<< $^S >> - Current state of the interpreter =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<< $^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<< ${^WIN32_SLOPPY_STAT} >> - If this variable is set to a true value, then stat() 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 =item * B<< ARGV >> - The special filehandle that iterates over command-line filenames in C<@ARGV> =item * B<< $ARGV >> - contains the name of the current file when reading from <> =item * B<< @ARGV >> - The array @ARGV contains the command-line arguments intended for the script =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<< @F >> - The array @F contains the fields of each line read in when autosplit mode is turned on =item * B<< @INC >> - The array @INC contains the list of places that the C, C, or C constructs look for their library files =item * B<< @_ >> - Within a subroutine the array @_ contains the parameters passed to that subroutine =item * B<< %INC >> - The hash %INC contains entries for each filename included via the C, C, or C operators =item * B<< $ENV{expr} >> - The hash %ENV contains your current environment =item * B<< $SIG{expr} >> - The hash C<%SIG> contains signal handlers for signals =back