CINXE.COM

Perl predefined variables - Perldoc Browser

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Perl predefined variables - Perldoc Browser</title> <link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Perldoc Browser"> <link rel="canonical" href="https://perldoc.perl.org/variables"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/stackoverflow-light.min.css" integrity="sha512-cG1IdFxqipi3gqLmksLtuk13C+hBa57a6zpWxMeoY3Q9O6ooFxq50DayCdm0QrDgZjMUn23z/0PMZlgft7Yp5Q==" crossorigin="anonymous" /> <style> body { background: #f4f4f5; color: #020202; } .navbar-dark { background-image: -webkit-linear-gradient(top, #005f85 0, #002e49 100%); background-image: -o-linear-gradient(top, #005f85 0, #002e49 100%); background-image: linear-gradient(to bottom, #005f85 0, #002e49 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff005f85', endColorstr='#ff002e49', GradientType=0); background-repeat: repeat-x; } .navbar-dark .navbar-nav .nav-link, .navbar-dark .navbar-nav .nav-link:focus { color: #fff } .navbar-dark .navbar-nav .nav-link:hover { color: #ffef68 } #wrapperlicious { margin: 0 auto; font: 0.9em 'Helvetica Neue', Helvetica, sans-serif; font-weight: normal; line-height: 1.5em; margin: 0; padding: 0; } #wrapperlicious h1 { font-size: 1.5em } #wrapperlicious h2 { font-size: 1.3em } #wrapperlicious h3 { font-size: 1.1em } #wrapperlicious h4 { font-size: 0.9em } #wrapperlicious h1, #wrapperlicious h2, #wrapperlicious h3, #wrapperlicious h4, #wrapperlicious dt { color: #020202; margin-top: 1em; margin-bottom: 1em; position: relative; font-weight: bold; } #wrapperlicious a { color: inherit; text-decoration: underline } #wrapperlicious #toc { text-decoration: none } #wrapperlicious a:hover { color: #2a2a2a } #wrapperlicious a img { border: 0 } #wrapperlicious :not(pre) > code { color: inherit; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; font: 0.9em Consolas, Menlo, Monaco, monospace; padding: 0.3em; } #wrapperlicious dd { margin: 0; margin-left: 2em; } #wrapperlicious dt { color: #2a2a2a; font-weight: bold; margin-left: 0.9em; } #wrapperlicious p { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious li > p { margin-bottom: 0; margin-top: 0; } #wrapperlicious pre { border: 1px solid #c1c1c1; border-radius: 3px; font: 100% Consolas, Menlo, Monaco, monospace; margin-bottom: 1em; margin-top: 1em; } #wrapperlicious pre > code { display: block; background-color: #f6f6f6; font: 0.9em Consolas, Menlo, Monaco, monospace; line-height: 1.5em; text-align: left; white-space: pre; padding: 1em; } #wrapperlicious dl, #wrapperlicious ol, #wrapperlicious ul { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious ul { list-style-type: square; } #wrapperlicious ul ul { margin-bottom: 0px; margin-top: 0px; } #footer { font-size: 0.8em; padding-top: 0.5em; text-align: center; } #more { display: inline; font-size: 0.8em; } #perldocdiv { background-color: #fff; border: 1px solid #c1c1c1; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; margin-left: auto; margin-right: auto; padding: 3em; padding-top: 1em; max-width: 960px; } #moduleversion { float: right } #wrapperlicious .leading-notice { font-style: italic; padding-left: 1em; margin-top: 1em; margin-bottom: 1em; } #wrapperlicious .permalink { display: none; left: -0.75em; position: absolute; padding-right: 0.25em; text-decoration: none; } #wrapperlicious h1:hover .permalink, #wrapperlicious h2:hover .permalink, #wrapperlicious h3:hover .permalink, #wrapperlicious h4:hover .permalink, #wrapperlicious dt:hover .permalink { display: block; } </style> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-KVNWBNT5FB"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KVNWBNT5FB'); gtag('config', 'UA-50555-3'); </script> </head> <body> <nav class="navbar navbar-expand-md navbar-dark bg-dark justify-content-between"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <a class="navbar-brand" href="/">Perldoc Browser</a> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-stable" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">5.39.1</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-stable"> <a class="dropdown-item" href="/variables">Latest</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.0/variables">5.40.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.38.2/variables">5.38.2</a> <a class="dropdown-item" href="/5.38.1/variables">5.38.1</a> <a class="dropdown-item" href="/5.38.0/variables">5.38.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.36.3/variables">5.36.3</a> <a class="dropdown-item" href="/5.36.2/variables">5.36.2</a> <a class="dropdown-item" href="/5.36.1/variables">5.36.1</a> <a class="dropdown-item" href="/5.36.0/variables">5.36.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.34.3/variables">5.34.3</a> <a class="dropdown-item" href="/5.34.2/variables">5.34.2</a> <a class="dropdown-item" href="/5.34.1/variables">5.34.1</a> <a class="dropdown-item" href="/5.34.0/variables">5.34.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.32.1/variables">5.32.1</a> <a class="dropdown-item" href="/5.32.0/variables">5.32.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.30.3/variables">5.30.3</a> <a class="dropdown-item" href="/5.30.2/variables">5.30.2</a> <a class="dropdown-item" href="/5.30.1/variables">5.30.1</a> <a class="dropdown-item" href="/5.30.0/variables">5.30.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.28.3/variables">5.28.3</a> <a class="dropdown-item" href="/5.28.2/variables">5.28.2</a> <a class="dropdown-item" href="/5.28.1/variables">5.28.1</a> <a class="dropdown-item" href="/5.28.0/variables">5.28.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.26.3/variables">5.26.3</a> <a class="dropdown-item" href="/5.26.2/variables">5.26.2</a> <a class="dropdown-item" href="/5.26.1/variables">5.26.1</a> <a class="dropdown-item" href="/5.26.0/variables">5.26.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.24.4/variables">5.24.4</a> <a class="dropdown-item" href="/5.24.3/variables">5.24.3</a> <a class="dropdown-item" href="/5.24.2/variables">5.24.2</a> <a class="dropdown-item" href="/5.24.1/variables">5.24.1</a> <a class="dropdown-item" href="/5.24.0/variables">5.24.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.22.4/variables">5.22.4</a> <a class="dropdown-item" href="/5.22.3/variables">5.22.3</a> <a class="dropdown-item" href="/5.22.2/variables">5.22.2</a> <a class="dropdown-item" href="/5.22.1/variables">5.22.1</a> <a class="dropdown-item" href="/5.22.0/variables">5.22.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.20.3/variables">5.20.3</a> <a class="dropdown-item" href="/5.20.2/variables">5.20.2</a> <a class="dropdown-item" href="/5.20.1/variables">5.20.1</a> <a class="dropdown-item" href="/5.20.0/variables">5.20.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.18.4/variables">5.18.4</a> <a class="dropdown-item" href="/5.18.3/variables">5.18.3</a> <a class="dropdown-item" href="/5.18.2/variables">5.18.2</a> <a class="dropdown-item" href="/5.18.1/variables">5.18.1</a> <a class="dropdown-item" href="/5.18.0/variables">5.18.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.16.3/variables">5.16.3</a> <a class="dropdown-item" href="/5.16.2/variables">5.16.2</a> <a class="dropdown-item" href="/5.16.1/variables">5.16.1</a> <a class="dropdown-item" href="/5.16.0/variables">5.16.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.14.4/variables">5.14.4</a> <a class="dropdown-item" href="/5.14.3/variables">5.14.3</a> <a class="dropdown-item" href="/5.14.2/variables">5.14.2</a> <a class="dropdown-item" href="/5.14.1/variables">5.14.1</a> <a class="dropdown-item" href="/5.14.0/variables">5.14.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.12.5/variables">5.12.5</a> <a class="dropdown-item" href="/5.12.4/variables">5.12.4</a> <a class="dropdown-item" href="/5.12.3/variables">5.12.3</a> <a class="dropdown-item" href="/5.12.2/variables">5.12.2</a> <a class="dropdown-item" href="/5.12.1/variables">5.12.1</a> <a class="dropdown-item" href="/5.12.0/variables">5.12.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.10.1/variables">5.10.1</a> <a class="dropdown-item" href="/5.10.0/variables">5.10.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.8.9/variables">5.8.9</a> <a class="dropdown-item" href="/5.8.8/variables">5.8.8</a> <a class="dropdown-item" href="/5.8.7/variables">5.8.7</a> <a class="dropdown-item" href="/5.8.6/variables">5.8.6</a> <a class="dropdown-item" href="/5.8.5/variables">5.8.5</a> <a class="dropdown-item" href="/5.8.4/variables">5.8.4</a> <a class="dropdown-item" href="/5.8.3/variables">5.8.3</a> <a class="dropdown-item" href="/5.8.2/variables">5.8.2</a> <a class="dropdown-item" href="/5.8.1/variables">5.8.1</a> <a class="dropdown-item" href="/5.8.0/variables">5.8.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.2/variables">5.6.2</a> <a class="dropdown-item" href="/5.6.1/variables">5.6.1</a> <a class="dropdown-item" href="/5.6.0/variables">5.6.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.005_04/variables">5.005_04</a> <a class="dropdown-item" href="/5.005_03/variables">5.005_03</a> <a class="dropdown-item" href="/5.005_02/variables">5.005_02</a> <a class="dropdown-item" href="/5.005_01/variables">5.005_01</a> <a class="dropdown-item" href="/5.005/variables">5.005</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-dev" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dev</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-dev"> <a class="dropdown-item" href="/blead/variables">blead</a> <a class="dropdown-item" href="/5.41.6/variables">5.41.6</a> <a class="dropdown-item" href="/5.41.5/variables">5.41.5</a> <a class="dropdown-item" href="/5.41.4/variables">5.41.4</a> <a class="dropdown-item" href="/5.41.3/variables">5.41.3</a> <a class="dropdown-item" href="/5.41.2/variables">5.41.2</a> <a class="dropdown-item" href="/5.41.1/variables">5.41.1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.0-RC2/variables">5.40.0-RC2</a> <a class="dropdown-item" href="/5.40.0-RC1/variables">5.40.0-RC1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.39.10/variables">5.39.10</a> <a class="dropdown-item" href="/5.39.9/variables">5.39.9</a> <a class="dropdown-item" href="/5.39.8/variables">5.39.8</a> <a class="dropdown-item" href="/5.39.7/variables">5.39.7</a> <a class="dropdown-item" href="/5.39.6/variables">5.39.6</a> <a class="dropdown-item" href="/5.39.5/variables">5.39.5</a> <a class="dropdown-item" href="/5.39.4/variables">5.39.4</a> <a class="dropdown-item" href="/5.39.3/variables">5.39.3</a> <a class="dropdown-item" href="/5.39.2/variables">5.39.2</a> <a class="dropdown-item active" href="/5.39.1/variables">5.39.1</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-nav" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Documentation</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-nav"> <a class="dropdown-item" href="/5.39.1/perl">Perl</a> <a class="dropdown-item" href="/5.39.1/perlintro">Intro</a> <a class="dropdown-item" href="/5.39.1/perl#Tutorials">Tutorials</a> <a class="dropdown-item" href="/5.39.1/perlfaq">FAQs</a> <a class="dropdown-item" href="/5.39.1/perl#Reference-Manual">Reference</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.39.1/perlop">Operators</a> <a class="dropdown-item" href="/5.39.1/functions">Functions</a> <a class="dropdown-item" href="/5.39.1/variables">Variables</a> <a class="dropdown-item" href="/5.39.1/modules">Modules</a> <a class="dropdown-item" href="/5.39.1/perlutil">Utilities</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.39.1/perldelta">Release Notes</a> <a class="dropdown-item" href="/5.39.1/perlcommunity">Community</a> <a class="dropdown-item" href="/5.39.1/perlhist">History</a> </div> </li> </ul> <ul class="navbar-nav"> <script> function set_expand (expand) { var perldocdiv = document.getElementById('perldocdiv'); var width = window.getComputedStyle(perldocdiv).getPropertyValue('max-width'); var expanded = (width == '' || width == 'none') ? true : false; if (expand === null) { expand = !expanded; } if ((expand && !expanded) || (!expand && expanded)) { perldocdiv.style.setProperty('max-width', expand ? 'none' : '960px'); var button_classlist = document.getElementById('content-expand-button').classList; if (expand) { button_classlist.add('btn-light'); button_classlist.remove('btn-outline-light'); } else { button_classlist.add('btn-outline-light'); button_classlist.remove('btn-light'); } } return expand; } function toggle_expand () { var expand = set_expand(null); document.cookie = 'perldoc_expand=' + (expand ? 1 : 0) + '; path=/; expires=Tue, 19 Jan 2038 03:14:07 UTC'; } function read_expand () { return document.cookie.split(';').some(function (item) { return item.indexOf('perldoc_expand=1') >= 0 }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function () { if (read_expand()) { set_expand(true); } }); } else if (read_expand()) { set_expand(true); } </script> <button id="content-expand-button" type="button" class="btn btn-outline-light d-none d-lg-inline-block mr-4" onclick="toggle_expand()">Expand</button> </ul> <form class="form-inline" method="get" action="/5.39.1/search"> <input class="form-control mr-3" type="search" name="q" placeholder="Search" aria-label="Search" value=""> </form> </div> </nav> <div id="wrapperlicious" class="container-fluid"> <div id="perldocdiv"> <div id="links"> <a href="/5.39.1/variables">variables</a> <div id="more"> (<a href="/5.39.1/variables.txt">source</a>, <a href="https://metacpan.org/pod/perlvar">CPAN</a>) </div> </div> <div class="leading-notice"> You are viewing the version of this documentation from Perl 5.39.1. This is a development version of Perl. </div> <h1><a id="toc">CONTENTS</a></h1> <ul> <li> <a class="text-decoration-none" href="#General-Variables">General Variables</a> <ul> <li> <a class="text-decoration-none" href="#Scoping-Rules-of-Regex-Variables">Scoping Rules of Regex Variables</a> </li> </ul> </li> <li> <a class="text-decoration-none" href="#Variables-related-to-filehandles">Variables related to filehandles</a> <ul> <li> <a class="text-decoration-none" href="#Variables-related-to-formats">Variables related to formats</a> </li> </ul> </li> <li> <a class="text-decoration-none" href="#Error-Variables">Error Variables </a> </li> <li> <a class="text-decoration-none" href="#Variables-related-to-the-interpreter-state">Variables related to the interpreter state</a> </li> <li> <a class="text-decoration-none" href="#Deprecated-and-removed-variables">Deprecated and removed variables</a> </li> </ul> <p><i>Full documentation of predefined variables: <a href="/5.39.1/perlvar">perlvar</a></i></p> <h2 id="General-Variables"><a class="permalink" href="#General-Variables">#</a><a id="General"></a>General Variables</h2> <ul> <li><p><a href="/5.39.1/variables/$_"><b>$_</b></a> - The default input and pattern-searching space</p> </li> <li><p><a href="/5.39.1/variables/@_"><b>@_</b></a> - Within a subroutine the array <code>@_</code> contains the parameters passed to that subroutine</p> </li> <li><p><a href="/5.39.1/variables/$%22"><b>$&quot;</b></a> - When an array or an array slice is interpolated into a double-quoted string or a similar context such as <code>/.../</code>, its elements are separated by this value</p> </li> <li><p><a href="/5.39.1/variables/$$"><b>$$</b></a> - The process number of the Perl running this script</p> </li> <li><p><a href="/5.39.1/variables/$0"><b>$0</b></a> - Contains the name of the program being executed</p> </li> <li><p><a href="/5.39.1/variables/$("><b>$(</b></a> - The real gid of this process</p> </li> <li><p><a href="/5.39.1/variables/$)"><b>$)</b></a> - The effective gid of this process</p> </li> <li><p><a href="/5.39.1/variables/$%3C"><b>$&lt;</b></a> - The real uid of this process</p> </li> <li><p><a href="/5.39.1/variables/$%3E"><b>$&gt;</b></a> - The effective uid of this process</p> </li> <li><p><a href="/5.39.1/variables/$;"><b>$;</b></a> - The subscript separator for multidimensional array emulation</p> </li> <li><p><a href="/5.39.1/variables/$a"><b>$a</b></a>, <a href="/5.39.1/variables/$b"><b>$b</b></a> - Special package variables when using <code>sort()</code>, see <a href="/5.39.1/perlfunc#sort">&quot;sort&quot; in perlfunc</a></p> </li> <li><p><a href="/5.39.1/variables/%25ENV"><b>%ENV</b></a> - The hash <code>%ENV</code> contains your current environment</p> </li> <li><p><a href="/5.39.1/variables/$%5D"><b>$]</b></a> - 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</p> </li> <li><p><a href="/5.39.1/variables/$%5EF"><b>$^F</b></a> - The maximum system file descriptor, ordinarily 2. System file descriptors are passed to <code>exec()</code>ed processes, while higher file descriptors are not</p> </li> <li><p><a href="/5.39.1/variables/@F"><b>@F</b></a> - The array <code>@F</code> contains the fields of each line read in when autosplit mode is turned on</p> </li> <li><p><a href="/5.39.1/variables/@INC"><b>@INC</b></a> - The array <code>@INC</code> contains the list of places that the <code>do EXPR</code>, <code>require</code>, or <code>use</code> constructs look for their library files</p> </li> <li><p><a href="/5.39.1/variables/%25INC"><b>%INC</b></a> - The hash <code>%INC</code> contains entries for each filename included via the <code>do</code>, <code>require</code>, or <code>use</code> operators</p> </li> <li><p><a href="/5.39.1/variables/$INC"><b>$INC</b></a> - As of 5.37.7 when an <code>@INC</code> hook is executed the index of the <code>@INC</code> array that holds the hook will be localized into the <code>$INC</code> variable</p> </li> <li><p><a href="/5.39.1/variables/$%5EI"><b>$^I</b></a> - The current value of the inplace-edit extension</p> </li> <li><p><a href="/5.39.1/variables/@ISA"><b>@ISA</b></a> - Each package contains a special array called <code>@ISA</code> which contains a list of that class&#39;s parent classes, if any</p> </li> <li><p><a href="/5.39.1/variables/$%5EM"><b>$^M</b></a> - Perl can use the contents of <code>$^M</code> as an emergency memory pool after <code>die()</code>ing</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EMAX_NESTED_EVAL_BEGIN_BLOCKS%7D"><b>${^MAX_NESTED_EVAL_BEGIN_BLOCKS}</b></a> - This variable determines the maximum number <code>eval EXPR</code>/<code>BEGIN</code> or <code>require</code>/<code>BEGIN</code> block nesting that is allowed</p> </li> <li><p><a href="/5.39.1/variables/$%5EO"><b>$^O</b></a> - The name of the operating system under which this copy of Perl was built, as determined during the configuration process</p> </li> <li><p><a href="/5.39.1/variables/%25SIG"><b>%SIG</b></a> - The hash <code>%SIG</code> contains signal handlers for signals</p> </li> <li><p><a href="/5.39.1/variables/%25%7B%5EHOOK%7D"><b>%{^HOOK}</b></a> - This hash contains coderefs which are called when various perl keywords which are hard or impossible to wrap are called</p> </li> <li><p><a href="/5.39.1/variables/$%5ET"><b>$^T</b></a> - The time at which the program began running, in seconds since the epoch (beginning of 1970)</p> </li> <li><p><a href="/5.39.1/variables/$%5EV"><b>$^V</b></a> - The revision, version, and subversion of the Perl interpreter, represented as a <a href="/5.39.1/version">version</a> object</p> </li> <li><p><a href="/5.39.1/variables/$%5EX"><b>$^X</b></a> - The name used to execute the current copy of Perl, from C&#39;s <code>argv[0]</code> or (where supported) <i>/proc/self/exe</i></p> </li> </ul> <h3 id="Scoping-Rules-of-Regex-Variables"><a class="permalink" href="#Scoping-Rules-of-Regex-Variables">#</a><a id="Scoping"></a>Scoping Rules of Regex Variables</h3> <ul> <li><p><a href="/5.39.1/variables/$%3Cdigits%3E%20($1,%20$2,%20...)"><b>$&lt;<i>digits</i>&gt; ($1, $2, ...)</b></a> - Contains the subpattern from the corresponding set of capturing parentheses from the last successful pattern match in the current dynamic scope</p> </li> <li><p><a href="/5.39.1/variables/@%7B%5ECAPTURE%7D"><b>@{^CAPTURE}</b></a> - An array which exposes the contents of the capture buffers, if any, of the last successful pattern match, not counting patterns matched in nested blocks that have been exited already</p> </li> <li><p><a href="/5.39.1/variables/$&amp;"><b>$&amp;</b></a> - The string matched by the last successful pattern match</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EMATCH%7D"><b>${^MATCH}</b></a> - It is only guaranteed to return a defined value when the pattern was compiled or executed with the <code>/p</code> modifier</p> </li> <li><p><a href="/5.39.1/variables/$%60"><b>$`</b></a> - The string preceding whatever was matched by the last successful pattern match</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EPREMATCH%7D"><b>${^PREMATCH}</b></a> - It is only guaranteed to return a defined value when the pattern was executed with the <code>/p</code> modifier</p> </li> <li><p><a href="/5.39.1/variables/$&#39;"><b>$&#39;</b></a> - The string following whatever was matched by the last successful pattern match</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EPOSTMATCH%7D"><b>${^POSTMATCH}</b></a> - It is only guaranteed to return a defined value when the pattern was compiled or executed with the <code>/p</code> modifier</p> </li> <li><p><a href="/5.39.1/variables/$+"><b>$+</b></a> - The text matched by the highest used capture group of the last successful search pattern</p> </li> <li><p><a href="/5.39.1/variables/$%5EN"><b>$^N</b></a> - The text matched by the used group most-recently closed (i.e. the group with the rightmost closing parenthesis) of the last successful match</p> </li> <li><p><a href="/5.39.1/variables/@+"><b>@+</b></a> - This array holds the offsets of the ends of the last successful match and any matching capture buffers that the pattern contains</p> </li> <li><p><a href="/5.39.1/variables/%25+"><b>%+</b></a> - Similar to <code>@+</code>, the <code>%+</code> hash allows access to the named capture buffers, should they exist, in the last successful match in the currently active dynamic scope</p> </li> <li><p><a href="/5.39.1/variables/@-"><b>@-</b></a> - This array holds the offsets of the beginnings of the last successful match and any capture buffers it contains</p> </li> <li><p><a href="/5.39.1/variables/%25-"><b>%-</b></a> - Similar to <code>%+</code>, this variable allows access to the named capture groups in the last successful match in the currently active dynamic scope</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5ELAST_SUCCESSFUL_PATTERN%7D"><b>${^LAST_SUCCESSFUL_PATTERN}</b></a> - The last successful pattern that matched in the current scope</p> </li> <li><p><a href="/5.39.1/variables/$%5ER"><b>$^R</b></a> - The result of evaluation of the last successful <code>(?{ code })</code> regular expression assertion (see <a href="/5.39.1/perlre">perlre</a>)</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5ERE_COMPILE_RECURSION_LIMIT%7D"><b>${^RE_COMPILE_RECURSION_LIMIT}</b></a> - The current value giving the maximum number of open but unclosed parenthetical groups there may be at any point during a regular expression compilation</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5ERE_DEBUG_FLAGS%7D"><b>${^RE_DEBUG_FLAGS}</b></a> - The current value of the regex debugging flags</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5ERE_TRIE_MAXBUF%7D"><b>${^RE_TRIE_MAXBUF}</b></a> - Controls how certain regex optimisations are applied and how much memory they utilize</p> </li> </ul> <h2 id="Variables-related-to-filehandles"><a class="permalink" href="#Variables-related-to-filehandles">#</a><a id="Variables"></a>Variables related to filehandles</h2> <ul> <li><p><a href="/5.39.1/variables/$ARGV"><b>$ARGV</b></a> - Contains the name of the current file when reading from <code>&lt;&gt;</code></p> </li> <li><p><a href="/5.39.1/variables/@ARGV"><b>@ARGV</b></a> - The array <code>@ARGV</code> contains the command-line arguments intended for the script</p> </li> <li><p><a href="/5.39.1/variables/ARGV"><b>ARGV</b></a> - The special filehandle that iterates over command-line filenames in <code>@ARGV</code></p> </li> <li><p><a href="/5.39.1/variables/ARGVOUT"><b>ARGVOUT</b></a> - The special filehandle that points to the currently open output file when doing edit-in-place processing with <b>-i</b></p> </li> <li><p><a href="/5.39.1/variables/$,"><b>$,</b></a> - The output field separator for the print operator</p> </li> <li><p><a href="/5.39.1/variables/$."><b>$.</b></a> - Current line number for the last filehandle accessed</p> </li> <li><p><a href="/5.39.1/variables/$%2F"><b>$/</b></a> - The input record separator, newline by default</p> </li> <li><p><a href="/5.39.1/variables/$%5C"><b>$\</b></a> - The output record separator for the print operator</p> </li> <li><p><a href="/5.39.1/variables/$%7C"><b>$|</b></a> - If set to nonzero, forces a flush right away and after every write or print on the currently selected output channel</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5ELAST_FH%7D"><b>${^LAST_FH}</b></a> - This read-only variable contains a reference to the last-read filehandle</p> </li> </ul> <h3 id="Variables-related-to-formats"><a class="permalink" href="#Variables-related-to-formats">#</a><a id="Variables1"></a>Variables related to formats</h3> <ul> <li><p><a href="/5.39.1/variables/$%5EA"><b>$^A</b></a> - The current value of the <code>write()</code> accumulator for <code>format()</code> lines</p> </li> <li><p><a href="/5.39.1/variables/$%5EL"><b>$^L</b></a> - What formats output as a form feed</p> </li> <li><p><a href="/5.39.1/variables/$%25"><b>$%</b></a> - The current page number of the currently selected output channel</p> </li> <li><p><a href="/5.39.1/variables/$-"><b>$-</b></a> - The number of lines left on the page of the currently selected output channel</p> </li> <li><p><a href="/5.39.1/variables/$:"><b>$:</b></a> - The current set of characters after which a string may be broken to fill continuation fields (starting with <code>^</code>) in a format</p> </li> <li><p><a href="/5.39.1/variables/$="><b>$=</b></a> - The current page length (printable lines) of the currently selected output channel</p> </li> <li><p><a href="/5.39.1/variables/$%5E"><b>$^</b></a> - The name of the current top-of-page format for the currently selected output channel</p> </li> <li><p><a href="/5.39.1/variables/$~"><b>$~</b></a> - The name of the current report format for the currently selected output channel</p> </li> </ul> <h2 id="Error-Variables"><a class="permalink" href="#Error-Variables">#</a><a id="Error"></a>Error Variables </h2> <ul> <li><p><a href="/5.39.1/variables/$%7B%5ECHILD_ERROR_NATIVE%7D"><b>${^CHILD_ERROR_NATIVE}</b></a> - The native status returned by the last pipe close, backtick (<code>``</code>) command, successful call to <code>wait()</code> or <code>waitpid()</code>, or from the <code>system()</code> operator</p> </li> <li><p><a href="/5.39.1/variables/$%5EE"><b>$^E</b></a> - Error information specific to the current operating system</p> </li> <li><p><a href="/5.39.1/variables/$%5ES"><b>$^S</b></a> - Current state of the interpreter</p> </li> <li><p><a href="/5.39.1/variables/$%5EW"><b>$^W</b></a> - The current value of the warning switch, initially true if <b>-w</b> was used, false otherwise, but directly modifiable</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EWARNING_BITS%7D"><b>${^WARNING_BITS}</b></a> - The current set of warning checks enabled by the <code>use warnings</code> pragma</p> </li> <li><p><a href="/5.39.1/variables/$!"><b>$!</b></a> - When referenced, <code>$!</code> retrieves the current value of the C <code>errno</code> integer variable</p> </li> <li><p><a href="/5.39.1/variables/%25!"><b>%!</b></a> - Each element of <code>%!</code> has a true value only if <code>$!</code> is set to that value</p> </li> <li><p><a href="/5.39.1/variables/$%3F"><b>$?</b></a> - The status returned by the last pipe close, backtick (<code>``</code>) command, successful call to <code>wait()</code> or <code>waitpid()</code>, or from the <code>system()</code> operator</p> </li> <li><p><a href="/5.39.1/variables/$@"><b>$@</b></a> - The Perl error from the last <code>eval</code> operator, i.e. the last exception that was caught</p> </li> </ul> <h2 id="Variables-related-to-the-interpreter-state"><a class="permalink" href="#Variables-related-to-the-interpreter-state">#</a><a id="Variables2"></a>Variables related to the interpreter state</h2> <ul> <li><p><a href="/5.39.1/variables/$%5EC"><b>$^C</b></a> - The current value of the flag associated with the <b>-c</b> switch</p> </li> <li><p><a href="/5.39.1/variables/$%5ED"><b>$^D</b></a> - The current value of the debugging flags</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EGLOBAL_PHASE%7D"><b>${^GLOBAL_PHASE}</b></a> - The current phase of the perl interpreter</p> </li> <li><p><a href="/5.39.1/variables/$%5EH"><b>$^H</b></a> - This variable contains compile-time hints for the Perl interpreter</p> </li> <li><p><a href="/5.39.1/variables/%25%5EH"><b>%^H</b></a> - The <code>%^H</code> hash provides the same scoping semantics as <a href="/5.39.1/variables/$%5EH"><code>$^H</code></a></p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EOPEN%7D"><b>${^OPEN}</b></a> - An internal variable used by <a href="/5.39.1/PerlIO">PerlIO</a></p> </li> <li><p><a href="/5.39.1/variables/$%5EP"><b>$^P</b></a> - The internal variable for debugging support</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5ETAINT%7D"><b>${^TAINT}</b></a> - Reflects if taint mode is on or off</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5ESAFE_LOCALES%7D"><b>${^SAFE_LOCALES}</b></a> - Reflects if safe locale operations are available to this perl (when the value is 1) or not (the value is 0)</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EUNICODE%7D"><b>${^UNICODE}</b></a> - Reflects certain Unicode settings of Perl</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EUTF8CACHE%7D"><b>${^UTF8CACHE}</b></a> - This variable controls the state of the internal UTF-8 offset caching code</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EUTF8LOCALE%7D"><b>${^UTF8LOCALE}</b></a> - This variable indicates whether a UTF-8 locale was detected by perl at startup</p> </li> </ul> <h2 id="Deprecated-and-removed-variables"><a class="permalink" href="#Deprecated-and-removed-variables">#</a><a id="Deprecated"></a>Deprecated and removed variables</h2> <ul> <li><p><a href="/5.39.1/variables/$%23"><b>$#</b></a> - <code>$#</code> was a variable that could be used to format printed numbers</p> </li> <li><p><a href="/5.39.1/variables/$*"><b>$*</b></a> - <code>$*</code> was a variable that you could use to enable multiline matching</p> </li> <li><p><a href="/5.39.1/variables/$%5B"><b>$[</b></a> - This variable stores the index of the first element in an array, and of the first character in a substring</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EENCODING%7D"><b>${^ENCODING}</b></a> - It used to hold the <i>object reference</i> to the <code>Encode</code> object that was used to convert the source code to Unicode</p> </li> <li><p><a href="/5.39.1/variables/$%7B%5EWIN32_SLOPPY_STAT%7D"><b>${^WIN32_SLOPPY_STAT}</b></a> - This variable no longer has any function</p> </li> </ul> </div> <div id="footer"> <p>Perldoc Browser is maintained by Dan Book (<a href="https://metacpan.org/author/DBOOK">DBOOK</a>). Please contact him via the <a href="https://github.com/Grinnz/perldoc-browser/issues">GitHub issue tracker</a> or <a href="mailto:dbook@cpan.org">email</a> regarding any issues with the site itself, search, or rendering of documentation.</p> <p>The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the <a href="https://github.com/Perl/perl5/issues">Perl issue tracker</a>, the <a href="https://lists.perl.org/list/perl5-porters.html">mailing list</a>, or <a href="https://kiwiirc.com/client/irc.perl.org/p5p">IRC</a> to report any issues with the contents or format of the documentation.</p> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js" integrity="sha512-/DXTXr6nQodMUiq+IUJYCt2PPOUjrHJ9wFrqpJ3XkgPNOZVfMok7cRw6CSxyCQxXn6ozlESsSh1/sMCTF1rL/g==" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js" integrity="sha512-ubuT8Z88WxezgSqf3RLuNi5lmjstiJcyezx34yIU2gAHonIi27Na7atqzUZCOoY4CExaoFumzOsFQ2Ch+I/HCw==" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script> <script src="/highlight.pack.js"></script> <script>hljs.highlightAll();</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10