${^UTF8CACHE}

${^UTF8CACHE} This variable controls the state of the internal UTF-8 offset caching code. 1 for on (the default), 0 for off, -1 to debug the caching code by checking all its results against linear scans, and panicking on any discrepancy. This variable was added in Perl v5.8.9. It is subject to change or removal without notice, but is currently used to avoid recalculating the boundaries of multi-byte UTF-8-encoded characters.

${^TAINT}

${^TAINT} Reflects if taint mode is on or off. 1 for on (the program was run with -T), 0 for off, -1 when only taint warnings are enabled (i.e. with -t or -TU). This variable is read-only. This variable was added in Perl v5.8.0.

${^RE_DEBUG_FLAGS}

${^RE_DEBUG_FLAGS} The current value of the regex debugging flags. Set to 0 for no debug output even when the re 'debug' module is loaded. See re for details. This variable was added in Perl v5.10.0.

${^PREMATCH}

${^PREMATCH} This is similar to $` ($PREMATCH) except that it does not incur the performance penalty associated with that variable. See Performance issues above. In Perl v5.18 and earlier, it is only guaranteed to return a defined value when the pattern was compiled or executed with the /p modifier. In Perl v5.20, the /p modifier does nothing, so ${^PREMATCH} does the same thing as $PREMATCH . This variable was added in Perl v5.10.0. This variable is read-only and dynamically-scoped.

${^RE_TRIE_MAXBUF}

${^RE_TRIE_MAXBUF} Controls how certain regex optimisations are applied and how much memory they utilize. This value by default is 65536 which corresponds to a 512kB temporary cache. Set this to a higher value to trade memory for speed when matching large alternations. Set it to a lower value if you want the optimisations to be as conservative of memory as possible but still occur, and set it to a negative value to prevent the optimisation and conserve the most memory. Under normal situations

${^MATCH}

${^MATCH} This is similar to $& ($MATCH ) except that it does not incur the performance penalty associated with that variable. See Performance issues above. In Perl v5.18 and earlier, it is only guaranteed to return a defined value when the pattern was compiled or executed with the /p modifier. In Perl v5.20, the /p modifier does nothing, so ${^MATCH} does the same thing as $MATCH . This variable was added in Perl v5.10.0. This variable is read-only and dynamically-scoped.

${^OPEN}

${^OPEN} An internal variable used by PerlIO. A string in two parts, separated by a \0 byte, the first part describes the input layers, the second part describes the output layers. This variable was added in Perl v5.8.0.

${^POSTMATCH}

${^POSTMATCH} This is similar to $' ($POSTMATCH ) except that it does not incur the performance penalty associated with that variable. See Performance issues above. In Perl v5.18 and earlier, it is only guaranteed to return a defined value when the pattern was compiled or executed with the /p modifier. In Perl v5.20, the /p modifier does nothing, so ${^POSTMATCH} does the same thing as $POSTMATCH . This variable was added in Perl v5.10.0. This variable is read-only and dynamically-scoped.

${^LAST_FH}

${^LAST_FH} This read-only variable contains a reference to the last-read filehandle. This is set by <HANDLE> , readline, tell, eof and seek. This is the same handle that $. and tell and eof without arguments use. It is also the handle used when Perl appends ", <STDIN> line 1" to an error or warning message. This variable was added in Perl v5.18.0. Variables related to formats The special variables for formats are a subset of those for filehandles. See perlform for more information

${^GLOBAL_PHASE}

${^GLOBAL_PHASE} The current phase of the perl interpreter. Possible values are: