CINXE.COM

Syntax::Construct - Explicitly state which non-feature constructs are used in the code. - metacpan.org

<!DOCTYPE html> <html lang="en-US"> <head> <title>Syntax::Construct - Explicitly state which non-feature constructs are used in the code. - metacpan.org</title> <link rel="preload" as="fetch" href="/account/login_status" crossorigin="anonymous" /> <link href="/assets/style-XFEQ536G.css" rel="stylesheet" type="text/css"> <script src="/assets/main-WXBSEDQJ.js" type="module"></script> <link rel="alternate" type="application/rss+xml" title="Recent CPAN Uploads of Syntax-Construct - MetaCPAN" href="/dist/Syntax-Construct/releases.rss" /> <link rel="canonical" href="https://metacpan.org/pod/Syntax::Construct" /> <meta name="description" content="Explicitly state which non-feature constructs are used in the code." /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"> <link rel="shortcut icon" href="/static/icons/favicon.ico"> <link rel="apple-touch-icon" sizes="152x152" href="/static/icons/apple-touch-icon.png"> <link rel="search" href="/static/opensearch.xml" type="application/opensearchdescription+xml" title="MetaCPAN"> <script async src="https://perl-ads.perlhacks.com/perl-ads.js"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-E82Q2V8LVD"></script> <meta property="og:site_name" content="MetaCPAN" /> <meta name="twitter:site" content="@metacpan" /> <meta property="og:type" content="article" /> <meta name="twitter:card" content="summary" /> <meta property="og:url" content="https://metacpan.org/pod/Syntax::Construct" /> <meta property="og:title" content="Syntax::Construct" /> <meta property="og:description" content="Explicitly state which non-feature constructs are used in the code." /> <meta property="og:image" content="https://metacpan.org/static/images/dots.png" /> </head> <body> <nav class="navbar navbar-default" role="navigation"> <div class="header-logo-large hidden-xs"> <a href="/" tabindex="0"> <svg class="logo" aria-label="MetaCPAN"> <use class="logo" href="/static/images/metacpan-logo.svg#logo" /> </svg> </a> </div> <div class="header-logo-icon visible-xs"> <a href="/"> <svg class="logo" aria-label="MetaCPAN"> <use class="logo" href="/static/images/metacpan-logo.svg#dots" /> </svg> </a> </div> <ul class="nav navbar-nav menu-items hidden-xs hidden-sm"> <li><a href="/about">About</a></li> <li><a href="/about/sponsors">Sponsor</a></li> <li><a href="https://grep.metacpan.org/">grep::cpan</a></li> <li><a href="/recent">Recent</a></li> <li><a href="/about/faq">FAQ</a></li> <li><a href="/tools">Tools</a></li> <li><a href="https://fastapi.metacpan.org/">API</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <button type="button" class="searchbar-btn visible-xs visible-sm"> <i class="fa fa-search button-fa-icon"></i> </button> <form action="/search" class="searchbar-form visible-md visible-lg search-form form-horizontal"> <input type="hidden" name="size" id="metacpan_search-size" value="20"> <div class="form-group"> <div class="search-group"> <i class="fa fa-search"></i> <input type="text" name="q" placeholder="Search the CPAN" size="41" autocorrect="off" autocapitalize="off" spellcheck="false" id="metacpan_search-input" class="form-control" value=""> </div> </div> </form> <li class="icon-slidepanel visible-xs visible-sm"> <button data-toggle="slidepanel" data-target=".slidepanel"> <span class="button-fa-icon"> <i class="fa fa-bars slidepanel-open"></i> <i class="fa fa-times slidepanel-close"></i> </span> </button> </li> <li class="dropdown login-dropdown show-logged-in"> <button type="button" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-user button-fa-icon logged-in-icon" aria-hidden="true"></i> <i class="fas fa-chevron-down"></i> </button> <ul class="dropdown-menu"> <li><a href="/account/identities">Identities</a></li> <li><a href="/account/profile">Profile</a></li> <li><a href="/account/favorite/list">Favorites</a></li> <li> <a href="#" type="button" class="logout-button"> Logout </a> </li> </ul> </li> <li class="dropdown login-dropdown show-logged-out"> <button type="button" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-user button-fa-icon avatar-placeholder" aria-hidden="true"></i> <i class="fas fa-chevron-down"></i> </button> <ul class="dropdown-menu"> <li> <a href="/login/github"> <i class="fab fa-github fa-fw"></i> GitHub </a> </li> <li> <a href="/login/twitter"> <i class="fab fa-twitter fa-fw"></i> Twitter </a> </li> <li> <a href="/login/google"> <i class="fab fa-google fa-fw"></i> Google </a> </li> </ul> </li> <li class="dropdown login-dropdown hide-logged-in hide-logged-out"> <button> <i class="fa fa-user button-fa-icon" aria-hidden="true"></i> </button> </li> </ul> </nav> <div class="page-content "> <div id="perl-ad-target" class="top-notify-banner perl-ad-target"> </div> <nav class="sidebar"> <div class="slidepanel"> <ul class="nav-list "> <li class="nav-header no-margin-top"> <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The date that this version of Syntax-Construct was released."> <span class="relatize">20 Jan 2025 22:29:21 UTC</span> </div> </li> <li> Distribution: <a href="/dist/Syntax-Construct">Syntax-Construct</a> </li> <li> Module version: 1.040 </li> <li> <a data-keyboard-shortcut="g s" href="/dist/Syntax-Construct/source/lib/Syntax/Construct.pm">Source</a> (<a href="/dist/Syntax-Construct/source/lib/Syntax/Construct.pm?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g b" href="/dist/Syntax-Construct/source/lib/Syntax">Browse</a> (<a href="/dist/Syntax-Construct/source/lib/Syntax?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g c" href="/dist/Syntax-Construct/changes">Changes</a> </li> <li> <a class="nopopup" href="/dist/Syntax-Construct/contribute">How to Contribute</a> </li> <li> <a rel="noopener nofollow" data-keyboard-shortcut="g r" href="https://github.com/choroba/syntactic-construct">Repository</a> </li> <li> <a rel="noopener nofollow" data-keyboard-shortcut="g i" href="https://rt.cpan.org/Public/Dist/Display.html?Name=Syntax-Construct">Issues</a> (0) </li> <li> <a rel="noopener nofollow" href="http://matrix.cpantesters.org/?dist=Syntax-Construct+1.040" title="Matrix">Testers</a> </li> <li> <a rel="noopener nofollow" href="http://cpants.cpanauthors.org/release/CHOROBA/Syntax-Construct-1.040">Kwalitee</a> </li> <li> <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The # people with an indexing permission on Syntax-Construct who have released something to CPAN in the last 2 years (i.e. the # people likely able to release critical fixes in a timely manner)"> Bus factor: 1 </div> </li> <li> License: artistic_2 </li> <li> Perl: v5.6.2 </li> <li class="nav-header">Activity</li> <li> <div class="activity-graph"> <img src="/dist/Syntax-Construct/activity.svg?res=month" /> <div class="comment">24 month</div> </div> </li> <li class="nav-header">Tools</li> <li> <a itemprop="downloadUrl" href="https://cpan.metacpan.org/authors/id/C/CH/CHOROBA/Syntax-Construct-1.040.tar.gz"> Download (<span itemprop="fileSize">21.21KB</span>)</a> </li> <li> <a href="https://explorer.metacpan.org/?url=%2Fmodule%2FCHOROBA%2FSyntax-Construct-1.040%2Flib%2FSyntax%2FConstruct.pm"> MetaCPAN Explorer </a> </li> <li> <a href="/dist/Syntax-Construct/permissions"> Permissions </a> </li> <li> <a href="/dist/Syntax-Construct/releases.rss"> Subscribe to distribution </a> </li> <li> <button class="btn btn-link" data-toggle="modal" data-target="#metacpan_install-instructions-dialog"> Install Instructions </button> </li> <li> <form action="/search"> <input type="hidden" name="q" value="dist:Syntax-Construct"> <input type="search" name="q" placeholder="Search distribution" class="form-control tool-bar-form"> <input type="submit" style="display: none"> </form> </li> <li> <form action="https://grep.metacpan.org/search"> <input type="hidden" name="qd" value="Syntax-Construct"> <input type="hidden" name="source" value="metacpan"> <input type="search" name="q" placeholder="grep distribution" class="form-control tool-bar-form"> <input type="submit" style="display: none"> </form> </li> <li class="version-jump"> <select class="select-navigator form-control tool-bar-form"> <option disabled selected>Jump to version</option> <option disabled value="/release/CHOROBA/Syntax-Construct-1.040/view/lib/Syntax/Construct.pm" >1.040 (CHOROBA on 2025-01-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.039/view/lib/Syntax/Construct.pm" >1.039 (CHOROBA on 2025-01-20)</option> <optgroup label="BackPAN">' <option value="/release/CHOROBA/Syntax-Construct-1.038/view/lib/Syntax/Construct.pm" >1.038 (CHOROBA on 2024-10-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.037/view/lib/Syntax/Construct.pm" >1.037 (CHOROBA on 2024-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.036_001/view/lib/Syntax/Construct.pm" >1.036_001 DEV (CHOROBA on 2024-06-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.036/view/lib/Syntax/Construct.pm" >1.036 (CHOROBA on 2024-06-12)</option> <option value="/release/CHOROBA/Syntax-Construct-1.035/view/lib/Syntax/Construct.pm" >1.035 (CHOROBA on 2024-06-10)</option> <option value="/release/CHOROBA/Syntax-Construct-1.034/view/lib/Syntax/Construct.pm" >1.034 (CHOROBA on 2023-12-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.033/view/lib/Syntax/Construct.pm" >1.033 (CHOROBA on 2023-07-06)</option> <option value="/release/CHOROBA/Syntax-Construct-1.032/view/lib/Syntax/Construct.pm" >1.032 (CHOROBA on 2023-05-03)</option> <option value="/release/CHOROBA/Syntax-Construct-1.031/view/lib/Syntax/Construct.pm" >1.031 (CHOROBA on 2023-01-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.030/view/lib/Syntax/Construct.pm" >1.030 (CHOROBA on 2022-10-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.029/view/lib/Syntax/Construct.pm" >1.029 (CHOROBA on 2022-10-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.028/view/lib/Syntax/Construct.pm" >1.028 (CHOROBA on 2022-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.027/view/lib/Syntax/Construct.pm" >1.027 (CHOROBA on 2022-05-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.026/view/lib/Syntax/Construct.pm" >1.026 (CHOROBA on 2022-05-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.025/view/lib/Syntax/Construct.pm" >1.025 (CHOROBA on 2022-03-18)</option> <option value="/release/CHOROBA/Syntax-Construct-1.024/view/lib/Syntax/Construct.pm" >1.024 (CHOROBA on 2022-01-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.023/view/lib/Syntax/Construct.pm" >1.023 (CHOROBA on 2022-01-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.022/view/lib/Syntax/Construct.pm" >1.022 (CHOROBA on 2021-07-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.021/view/lib/Syntax/Construct.pm" >1.021 (CHOROBA on 2021-05-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.020/view/lib/Syntax/Construct.pm" >1.020 (CHOROBA on 2021-05-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.019/view/lib/Syntax/Construct.pm" >1.019 (CHOROBA on 2021-05-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.018/view/lib/Syntax/Construct.pm" >1.018 (CHOROBA on 2020-07-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.017/view/lib/Syntax/Construct.pm" >1.017 (CHOROBA on 2020-07-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.016/view/lib/Syntax/Construct.pm" >1.016 (CHOROBA on 2020-01-12)</option> <option value="/release/CHOROBA/Syntax-Construct-1.015/view/lib/Syntax/Construct.pm" >1.015 (CHOROBA on 2020-01-04)</option> <option value="/release/CHOROBA/Syntax-Construct-1.014/view/lib/Syntax/Construct.pm" >1.014 (CHOROBA on 2019-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.013/view/lib/Syntax/Construct.pm" >1.013 (CHOROBA on 2019-06-18)</option> <option value="/release/CHOROBA/Syntax-Construct-1.012/view/lib/Syntax/Construct.pm" >1.012 (CHOROBA on 2019-06-11)</option> <option value="/release/CHOROBA/Syntax-Construct-1.011/view/lib/Syntax/Construct.pm" >1.011 (CHOROBA on 2019-06-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.010/view/lib/Syntax/Construct.pm" >1.010 (CHOROBA on 2019-06-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.009/view/lib/Syntax/Construct.pm" >1.009 (CHOROBA on 2019-06-07)</option> <option value="/release/CHOROBA/Syntax-Construct-1.008/view/lib/Syntax/Construct.pm" >1.008 (CHOROBA on 2018-09-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.007/view/lib/Syntax/Construct.pm" >1.007 (CHOROBA on 2018-06-26)</option> <option value="/release/CHOROBA/Syntax-Construct-1.006/view/lib/Syntax/Construct.pm" >1.006 (CHOROBA on 2018-06-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.005/view/lib/Syntax/Construct.pm" >1.005 (CHOROBA on 2018-06-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.004/view/lib/Syntax/Construct.pm" >1.004 (CHOROBA on 2017-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-1.003/view/lib/Syntax/Construct.pm" >1.003 (CHOROBA on 2017-06-08)</option> <option value="/release/CHOROBA/Syntax-Construct-1.002/view/lib/Syntax/Construct.pm" >1.002 (CHOROBA on 2017-06-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.001/view/lib/Syntax/Construct.pm" >1.001 (CHOROBA on 2017-06-01)</option> <option value="/release/CHOROBA/Syntax-Construct-0.29/view/lib/Syntax/Construct.pm" >0.29 (CHOROBA on 2017-01-28)</option> <option value="/release/CHOROBA/Syntax-Construct-0.28/view/lib/Syntax/Construct.pm" >0.28 (CHOROBA on 2016-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.27/view/lib/Syntax/Construct.pm" >0.27 (CHOROBA on 2016-07-15)</option> <option value="/release/CHOROBA/Syntax-Construct-0.26/view/lib/Syntax/Construct.pm" >0.26 (CHOROBA on 2016-07-15)</option> <option value="/release/CHOROBA/Syntax-Construct-0.25/view/lib/Syntax/Construct.pm" >0.25 (CHOROBA on 2016-07-14)</option> <option value="/release/CHOROBA/Syntax-Construct-0.24/view/lib/Syntax/Construct.pm" >0.24 (CHOROBA on 2016-06-26)</option> <option value="/release/CHOROBA/Syntax-Construct-0.23/view/lib/Syntax/Construct.pm" >0.23 (CHOROBA on 2016-05-09)</option> <option value="/release/CHOROBA/Syntax-Construct-0.22/view/lib/Syntax/Construct.pm" >0.22 (CHOROBA on 2016-05-09)</option> <option value="/release/CHOROBA/Syntax-Construct-0.21/view/lib/Syntax/Construct.pm" >0.21 (CHOROBA on 2016-02-12)</option> <option value="/release/CHOROBA/Syntax-Construct-0.20/view/lib/Syntax/Construct.pm" >0.20 (CHOROBA on 2015-11-05)</option> <option value="/release/CHOROBA/Syntax-Construct-0.19/view/lib/Syntax/Construct.pm" >0.19 (CHOROBA on 2015-09-02)</option> <option value="/release/CHOROBA/Syntax-Construct-0.18/view/lib/Syntax/Construct.pm" >0.18 (CHOROBA on 2015-08-31)</option> <option value="/release/CHOROBA/Syntax-Construct-0.17/view/lib/Syntax/Construct.pm" >0.17 (CHOROBA on 2015-08-28)</option> <option value="/release/CHOROBA/Syntax-Construct-0.16/view/lib/Syntax/Construct.pm" >0.16 (CHOROBA on 2015-06-01)</option> <option value="/release/CHOROBA/Syntax-Construct-0.15/view/lib/Syntax/Construct.pm" >0.15 (CHOROBA on 2015-04-29)</option> <option value="/release/CHOROBA/Syntax-Construct-0.14/view/lib/Syntax/Construct.pm" >0.14 (CHOROBA on 2015-01-29)</option> <option value="/release/CHOROBA/Syntax-Construct-0.13/view/lib/Syntax/Construct.pm" >0.13 (CHOROBA on 2014-09-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.12/view/lib/Syntax/Construct.pm" >0.12 (CHOROBA on 2014-08-25)</option> <option value="/release/CHOROBA/Syntax-Construct-0.11/view/lib/Syntax/Construct.pm" >0.11 (CHOROBA on 2014-08-25)</option> <option value="/release/CHOROBA/Syntax-Construct-0.10/view/lib/Syntax/Construct.pm" >0.10 (CHOROBA on 2014-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.09/view/lib/Syntax/Construct.pm" >0.09 (CHOROBA on 2014-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.08/view/lib/Syntax/Construct.pm" >0.08 (CHOROBA on 2014-05-02)</option> <option value="/release/CHOROBA/Syntax-Construct-0.07/view/lib/Syntax/Construct.pm" >0.07 (CHOROBA on 2014-04-29)</option> <option value="/release/CHOROBA/Syntax-Construct-0.06/view/lib/Syntax/Construct.pm" >0.06 (CHOROBA on 2014-04-28)</option> <option value="/release/CHOROBA/Syntax-Construct-0.05/view/lib/Syntax/Construct.pm" >0.05 (CHOROBA on 2014-04-23)</option> <option value="/release/CHOROBA/Syntax-Construct-0.04/view/lib/Syntax/Construct.pm" >0.04 (CHOROBA on 2014-04-23)</option> <option value="/release/CHOROBA/Syntax-Construct-0.03/view/lib/Syntax/Construct.pm" >0.03 (CHOROBA on 2014-01-18)</option> <option value="/release/CHOROBA/Syntax-Construct-0.02/view/lib/Syntax/Construct.pm" >0.02 (CHOROBA on 2014-01-17)</option> <option value="/release/CHOROBA/Syntax-Construct-0.01/view/lib/Syntax/Construct.pm" >0.01 (CHOROBA on 2014-01-15)</option> </optgroup> </select> </li> <li class="version-diff"> <select class="select-navigator form-control tool-bar-form"> <option disabled selected>Diff with version</option> <option disabled value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.040/lib/Syntax/Construct.pm" >1.040 (CHOROBA on 2025-01-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.039/lib/Syntax/Construct.pm" >1.039 (CHOROBA on 2025-01-20)</option> <optgroup label="BackPAN">' <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.038/lib/Syntax/Construct.pm" >1.038 (CHOROBA on 2024-10-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.037/lib/Syntax/Construct.pm" >1.037 (CHOROBA on 2024-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.036_001/lib/Syntax/Construct.pm" >1.036_001 DEV (CHOROBA on 2024-06-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.036/lib/Syntax/Construct.pm" >1.036 (CHOROBA on 2024-06-12)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.035/lib/Syntax/Construct.pm" >1.035 (CHOROBA on 2024-06-10)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.034/lib/Syntax/Construct.pm" >1.034 (CHOROBA on 2023-12-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.033/lib/Syntax/Construct.pm" >1.033 (CHOROBA on 2023-07-06)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.032/lib/Syntax/Construct.pm" >1.032 (CHOROBA on 2023-05-03)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.031/lib/Syntax/Construct.pm" >1.031 (CHOROBA on 2023-01-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.030/lib/Syntax/Construct.pm" >1.030 (CHOROBA on 2022-10-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.029/lib/Syntax/Construct.pm" >1.029 (CHOROBA on 2022-10-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.028/lib/Syntax/Construct.pm" >1.028 (CHOROBA on 2022-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.027/lib/Syntax/Construct.pm" >1.027 (CHOROBA on 2022-05-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.026/lib/Syntax/Construct.pm" >1.026 (CHOROBA on 2022-05-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.025/lib/Syntax/Construct.pm" >1.025 (CHOROBA on 2022-03-18)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.024/lib/Syntax/Construct.pm" >1.024 (CHOROBA on 2022-01-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.023/lib/Syntax/Construct.pm" >1.023 (CHOROBA on 2022-01-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.022/lib/Syntax/Construct.pm" >1.022 (CHOROBA on 2021-07-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.021/lib/Syntax/Construct.pm" >1.021 (CHOROBA on 2021-05-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.020/lib/Syntax/Construct.pm" >1.020 (CHOROBA on 2021-05-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.019/lib/Syntax/Construct.pm" >1.019 (CHOROBA on 2021-05-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.018/lib/Syntax/Construct.pm" >1.018 (CHOROBA on 2020-07-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.017/lib/Syntax/Construct.pm" >1.017 (CHOROBA on 2020-07-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.016/lib/Syntax/Construct.pm" >1.016 (CHOROBA on 2020-01-12)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.015/lib/Syntax/Construct.pm" >1.015 (CHOROBA on 2020-01-04)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.014/lib/Syntax/Construct.pm" >1.014 (CHOROBA on 2019-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.013/lib/Syntax/Construct.pm" >1.013 (CHOROBA on 2019-06-18)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.012/lib/Syntax/Construct.pm" >1.012 (CHOROBA on 2019-06-11)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.011/lib/Syntax/Construct.pm" >1.011 (CHOROBA on 2019-06-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.010/lib/Syntax/Construct.pm" >1.010 (CHOROBA on 2019-06-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.009/lib/Syntax/Construct.pm" >1.009 (CHOROBA on 2019-06-07)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.008/lib/Syntax/Construct.pm" >1.008 (CHOROBA on 2018-09-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.007/lib/Syntax/Construct.pm" >1.007 (CHOROBA on 2018-06-26)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.006/lib/Syntax/Construct.pm" >1.006 (CHOROBA on 2018-06-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.005/lib/Syntax/Construct.pm" >1.005 (CHOROBA on 2018-06-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.004/lib/Syntax/Construct.pm" >1.004 (CHOROBA on 2017-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.003/lib/Syntax/Construct.pm" >1.003 (CHOROBA on 2017-06-08)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.002/lib/Syntax/Construct.pm" >1.002 (CHOROBA on 2017-06-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-1.001/lib/Syntax/Construct.pm" >1.001 (CHOROBA on 2017-06-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.29/lib/Syntax/Construct.pm" >0.29 (CHOROBA on 2017-01-28)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.28/lib/Syntax/Construct.pm" >0.28 (CHOROBA on 2016-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.27/lib/Syntax/Construct.pm" >0.27 (CHOROBA on 2016-07-15)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.26/lib/Syntax/Construct.pm" >0.26 (CHOROBA on 2016-07-15)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.25/lib/Syntax/Construct.pm" >0.25 (CHOROBA on 2016-07-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.24/lib/Syntax/Construct.pm" >0.24 (CHOROBA on 2016-06-26)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.23/lib/Syntax/Construct.pm" >0.23 (CHOROBA on 2016-05-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.22/lib/Syntax/Construct.pm" >0.22 (CHOROBA on 2016-05-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.21/lib/Syntax/Construct.pm" >0.21 (CHOROBA on 2016-02-12)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.20/lib/Syntax/Construct.pm" >0.20 (CHOROBA on 2015-11-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.19/lib/Syntax/Construct.pm" >0.19 (CHOROBA on 2015-09-02)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.18/lib/Syntax/Construct.pm" >0.18 (CHOROBA on 2015-08-31)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.17/lib/Syntax/Construct.pm" >0.17 (CHOROBA on 2015-08-28)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.16/lib/Syntax/Construct.pm" >0.16 (CHOROBA on 2015-06-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.15/lib/Syntax/Construct.pm" >0.15 (CHOROBA on 2015-04-29)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.14/lib/Syntax/Construct.pm" >0.14 (CHOROBA on 2015-01-29)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.13/lib/Syntax/Construct.pm" >0.13 (CHOROBA on 2014-09-16)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.12/lib/Syntax/Construct.pm" >0.12 (CHOROBA on 2014-08-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.11/lib/Syntax/Construct.pm" >0.11 (CHOROBA on 2014-08-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.10/lib/Syntax/Construct.pm" >0.10 (CHOROBA on 2014-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.09/lib/Syntax/Construct.pm" >0.09 (CHOROBA on 2014-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.08/lib/Syntax/Construct.pm" >0.08 (CHOROBA on 2014-05-02)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.07/lib/Syntax/Construct.pm" >0.07 (CHOROBA on 2014-04-29)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.06/lib/Syntax/Construct.pm" >0.06 (CHOROBA on 2014-04-28)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.05/lib/Syntax/Construct.pm" >0.05 (CHOROBA on 2014-04-23)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.04/lib/Syntax/Construct.pm" >0.04 (CHOROBA on 2014-04-23)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.03/lib/Syntax/Construct.pm" >0.03 (CHOROBA on 2014-01-18)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.02/lib/Syntax/Construct.pm" >0.02 (CHOROBA on 2014-01-17)</option> <option value="/release/CHOROBA/Syntax-Construct-1.040/diff/CHOROBA/Syntax-Construct-0.01/lib/Syntax/Construct.pm" >0.01 (CHOROBA on 2014-01-15)</option> </optgroup> </select> </li> <li> <ul class="dependencies"> <li class="nav-header">Dependencies</li> <li><a href="/pod/Config" title="Config" class="ellipsis">Config</a></li> <li><a href="/pod/POSIX" title="POSIX" class="ellipsis">POSIX</a></li> <li><a href="/pod/locale" title="locale" class="ellipsis">locale</a></li> <li> <hr> </li> <li> <a href="/module/Syntax::Construct/requires">Reverse dependencies</a> </li> <li> <a href="http://deps.cpantesters.org/?module=Syntax%3A%3AConstruct">CPAN Testers List</a> </li> <li> <a href="https://cpandeps.grinnz.com/?dist=Syntax-Construct">Dependency graph</a> </li> </ul> </li> <li class="nav-header">Permalinks</li> <li> <a href="/release/CHOROBA/Syntax-Construct-1.040/view/lib/Syntax/Construct.pm">This version</a> </li> <li> <a href="/pod/Syntax::Construct">Latest version</a> </li> <li> <div class="plussers"> <div class="nav-header">++ed by:</div> <div> <a class="display-all" href="/author/CXW"><img src="https://www.gravatar.com/avatar/ec93ac2048df160fd3bb209d84e735f0?d=identicon&amp;s=20" title="CXW" alt="CXW"></a> <a class="display-all" href="/author/BRTASTIC"><img src="https://www.gravatar.com/avatar/ee4e20f351921e70f1985c5623e709e5?d=identicon&amp;s=20" title="BRTASTIC" alt="BRTASTIC"></a> <a class="display-all" href="/author/PERLANCAR"><img src="https://www.gravatar.com/avatar/c66c9e215cc2342796cd87ca82d044a8?d=identicon&amp;s=20" title="PERLANCAR" alt="PERLANCAR"></a> <a class="display-all" href="/author/MARIOROY"><img src="https://www.gravatar.com/avatar/112c64e088284a78b9afbcb83c125613?d=identicon&amp;s=20" title="MARIOROY" alt="MARIOROY"></a> <a class="display-all" href="/author/MHOWARD"><img src="https://www.gravatar.com/avatar/23ac2fbc91ec185f5da16627eb556667?d=identicon&amp;s=20" title="MHOWARD" alt="MHOWARD"></a> </div> <!-- Display counts of plussers--> <div> <a href="/dist/Syntax-Construct/plussers">8 PAUSE users</a> </div> <div> 6 non-PAUSE users </div> </div> </li> <li> </li> </ul> </div> </nav> <div class="content-navigation"> <div class="breadcrumbs"> <span> <a data-keyboard-shortcut="g a" rel="author" href="/author/CHOROBA" class="author-name">E. Choroba</a> </span> <span>&nbsp;/&nbsp;</span> <div class="release dist-release status-latest maturity-released"> <span class="dropdown"><b class="caret"></b></span> <select class="select-navigator "> <option selected value="/release/CHOROBA/Syntax-Construct-1.040/view/lib/Syntax/Construct.pm" >1.040 (CHOROBA on 2025-01-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.039/view/lib/Syntax/Construct.pm" >1.039 (CHOROBA on 2025-01-20)</option> <optgroup label="BackPAN">' <option value="/release/CHOROBA/Syntax-Construct-1.038/view/lib/Syntax/Construct.pm" >1.038 (CHOROBA on 2024-10-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.037/view/lib/Syntax/Construct.pm" >1.037 (CHOROBA on 2024-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.036_001/view/lib/Syntax/Construct.pm" >1.036_001 DEV (CHOROBA on 2024-06-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.036/view/lib/Syntax/Construct.pm" >1.036 (CHOROBA on 2024-06-12)</option> <option value="/release/CHOROBA/Syntax-Construct-1.035/view/lib/Syntax/Construct.pm" >1.035 (CHOROBA on 2024-06-10)</option> <option value="/release/CHOROBA/Syntax-Construct-1.034/view/lib/Syntax/Construct.pm" >1.034 (CHOROBA on 2023-12-01)</option> <option value="/release/CHOROBA/Syntax-Construct-1.033/view/lib/Syntax/Construct.pm" >1.033 (CHOROBA on 2023-07-06)</option> <option value="/release/CHOROBA/Syntax-Construct-1.032/view/lib/Syntax/Construct.pm" >1.032 (CHOROBA on 2023-05-03)</option> <option value="/release/CHOROBA/Syntax-Construct-1.031/view/lib/Syntax/Construct.pm" >1.031 (CHOROBA on 2023-01-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.030/view/lib/Syntax/Construct.pm" >1.030 (CHOROBA on 2022-10-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.029/view/lib/Syntax/Construct.pm" >1.029 (CHOROBA on 2022-10-14)</option> <option value="/release/CHOROBA/Syntax-Construct-1.028/view/lib/Syntax/Construct.pm" >1.028 (CHOROBA on 2022-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.027/view/lib/Syntax/Construct.pm" >1.027 (CHOROBA on 2022-05-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.026/view/lib/Syntax/Construct.pm" >1.026 (CHOROBA on 2022-05-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.025/view/lib/Syntax/Construct.pm" >1.025 (CHOROBA on 2022-03-18)</option> <option value="/release/CHOROBA/Syntax-Construct-1.024/view/lib/Syntax/Construct.pm" >1.024 (CHOROBA on 2022-01-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.023/view/lib/Syntax/Construct.pm" >1.023 (CHOROBA on 2022-01-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.022/view/lib/Syntax/Construct.pm" >1.022 (CHOROBA on 2021-07-30)</option> <option value="/release/CHOROBA/Syntax-Construct-1.021/view/lib/Syntax/Construct.pm" >1.021 (CHOROBA on 2021-05-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.020/view/lib/Syntax/Construct.pm" >1.020 (CHOROBA on 2021-05-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.019/view/lib/Syntax/Construct.pm" >1.019 (CHOROBA on 2021-05-24)</option> <option value="/release/CHOROBA/Syntax-Construct-1.018/view/lib/Syntax/Construct.pm" >1.018 (CHOROBA on 2020-07-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.017/view/lib/Syntax/Construct.pm" >1.017 (CHOROBA on 2020-07-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.016/view/lib/Syntax/Construct.pm" >1.016 (CHOROBA on 2020-01-12)</option> <option value="/release/CHOROBA/Syntax-Construct-1.015/view/lib/Syntax/Construct.pm" >1.015 (CHOROBA on 2020-01-04)</option> <option value="/release/CHOROBA/Syntax-Construct-1.014/view/lib/Syntax/Construct.pm" >1.014 (CHOROBA on 2019-06-20)</option> <option value="/release/CHOROBA/Syntax-Construct-1.013/view/lib/Syntax/Construct.pm" >1.013 (CHOROBA on 2019-06-18)</option> <option value="/release/CHOROBA/Syntax-Construct-1.012/view/lib/Syntax/Construct.pm" >1.012 (CHOROBA on 2019-06-11)</option> <option value="/release/CHOROBA/Syntax-Construct-1.011/view/lib/Syntax/Construct.pm" >1.011 (CHOROBA on 2019-06-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.010/view/lib/Syntax/Construct.pm" >1.010 (CHOROBA on 2019-06-09)</option> <option value="/release/CHOROBA/Syntax-Construct-1.009/view/lib/Syntax/Construct.pm" >1.009 (CHOROBA on 2019-06-07)</option> <option value="/release/CHOROBA/Syntax-Construct-1.008/view/lib/Syntax/Construct.pm" >1.008 (CHOROBA on 2018-09-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.007/view/lib/Syntax/Construct.pm" >1.007 (CHOROBA on 2018-06-26)</option> <option value="/release/CHOROBA/Syntax-Construct-1.006/view/lib/Syntax/Construct.pm" >1.006 (CHOROBA on 2018-06-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.005/view/lib/Syntax/Construct.pm" >1.005 (CHOROBA on 2018-06-25)</option> <option value="/release/CHOROBA/Syntax-Construct-1.004/view/lib/Syntax/Construct.pm" >1.004 (CHOROBA on 2017-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-1.003/view/lib/Syntax/Construct.pm" >1.003 (CHOROBA on 2017-06-08)</option> <option value="/release/CHOROBA/Syntax-Construct-1.002/view/lib/Syntax/Construct.pm" >1.002 (CHOROBA on 2017-06-05)</option> <option value="/release/CHOROBA/Syntax-Construct-1.001/view/lib/Syntax/Construct.pm" >1.001 (CHOROBA on 2017-06-01)</option> <option value="/release/CHOROBA/Syntax-Construct-0.29/view/lib/Syntax/Construct.pm" >0.29 (CHOROBA on 2017-01-28)</option> <option value="/release/CHOROBA/Syntax-Construct-0.28/view/lib/Syntax/Construct.pm" >0.28 (CHOROBA on 2016-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.27/view/lib/Syntax/Construct.pm" >0.27 (CHOROBA on 2016-07-15)</option> <option value="/release/CHOROBA/Syntax-Construct-0.26/view/lib/Syntax/Construct.pm" >0.26 (CHOROBA on 2016-07-15)</option> <option value="/release/CHOROBA/Syntax-Construct-0.25/view/lib/Syntax/Construct.pm" >0.25 (CHOROBA on 2016-07-14)</option> <option value="/release/CHOROBA/Syntax-Construct-0.24/view/lib/Syntax/Construct.pm" >0.24 (CHOROBA on 2016-06-26)</option> <option value="/release/CHOROBA/Syntax-Construct-0.23/view/lib/Syntax/Construct.pm" >0.23 (CHOROBA on 2016-05-09)</option> <option value="/release/CHOROBA/Syntax-Construct-0.22/view/lib/Syntax/Construct.pm" >0.22 (CHOROBA on 2016-05-09)</option> <option value="/release/CHOROBA/Syntax-Construct-0.21/view/lib/Syntax/Construct.pm" >0.21 (CHOROBA on 2016-02-12)</option> <option value="/release/CHOROBA/Syntax-Construct-0.20/view/lib/Syntax/Construct.pm" >0.20 (CHOROBA on 2015-11-05)</option> <option value="/release/CHOROBA/Syntax-Construct-0.19/view/lib/Syntax/Construct.pm" >0.19 (CHOROBA on 2015-09-02)</option> <option value="/release/CHOROBA/Syntax-Construct-0.18/view/lib/Syntax/Construct.pm" >0.18 (CHOROBA on 2015-08-31)</option> <option value="/release/CHOROBA/Syntax-Construct-0.17/view/lib/Syntax/Construct.pm" >0.17 (CHOROBA on 2015-08-28)</option> <option value="/release/CHOROBA/Syntax-Construct-0.16/view/lib/Syntax/Construct.pm" >0.16 (CHOROBA on 2015-06-01)</option> <option value="/release/CHOROBA/Syntax-Construct-0.15/view/lib/Syntax/Construct.pm" >0.15 (CHOROBA on 2015-04-29)</option> <option value="/release/CHOROBA/Syntax-Construct-0.14/view/lib/Syntax/Construct.pm" >0.14 (CHOROBA on 2015-01-29)</option> <option value="/release/CHOROBA/Syntax-Construct-0.13/view/lib/Syntax/Construct.pm" >0.13 (CHOROBA on 2014-09-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.12/view/lib/Syntax/Construct.pm" >0.12 (CHOROBA on 2014-08-25)</option> <option value="/release/CHOROBA/Syntax-Construct-0.11/view/lib/Syntax/Construct.pm" >0.11 (CHOROBA on 2014-08-25)</option> <option value="/release/CHOROBA/Syntax-Construct-0.10/view/lib/Syntax/Construct.pm" >0.10 (CHOROBA on 2014-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.09/view/lib/Syntax/Construct.pm" >0.09 (CHOROBA on 2014-08-16)</option> <option value="/release/CHOROBA/Syntax-Construct-0.08/view/lib/Syntax/Construct.pm" >0.08 (CHOROBA on 2014-05-02)</option> <option value="/release/CHOROBA/Syntax-Construct-0.07/view/lib/Syntax/Construct.pm" >0.07 (CHOROBA on 2014-04-29)</option> <option value="/release/CHOROBA/Syntax-Construct-0.06/view/lib/Syntax/Construct.pm" >0.06 (CHOROBA on 2014-04-28)</option> <option value="/release/CHOROBA/Syntax-Construct-0.05/view/lib/Syntax/Construct.pm" >0.05 (CHOROBA on 2014-04-23)</option> <option value="/release/CHOROBA/Syntax-Construct-0.04/view/lib/Syntax/Construct.pm" >0.04 (CHOROBA on 2014-04-23)</option> <option value="/release/CHOROBA/Syntax-Construct-0.03/view/lib/Syntax/Construct.pm" >0.03 (CHOROBA on 2014-01-18)</option> <option value="/release/CHOROBA/Syntax-Construct-0.02/view/lib/Syntax/Construct.pm" >0.02 (CHOROBA on 2014-01-17)</option> <option value="/release/CHOROBA/Syntax-Construct-0.01/view/lib/Syntax/Construct.pm" >0.01 (CHOROBA on 2014-01-15)</option> </optgroup> </select> <a data-keyboard-shortcut="g d" class="release-name" href="/dist/Syntax-Construct">Syntax-Construct-1.040</a> </div> <span class="river-gauge-gauge"> <svg width="24px" height="15px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g> <title> River stage one &#10; • 7 direct dependents &#10; • 7 total dependents </title> <rect x="0" y="0" width="4" height="15" fill="#7ea3f2" /> <rect x="5" y="0" width="4" height="15" fill="#e4e2e2" /> <rect x="10" y="0" width="4" height="15" fill="#e4e2e2" /> <rect x="15" y="0" width="4" height="15" fill="#e4e2e2" /> <rect x="20" y="0" width="4" height="15" fill="#e4e2e2" /> </g> </svg> </span> <div id="Syntax-Construct-fav" class="show-logged-in"> <form action="/account/favorite/add" style="display: inline" method="POST"> <input type="hidden" name="remove" value="0"> <input type="hidden" name="release" value="Syntax-Construct-1.040"> <input type="hidden" name="author" value="CHOROBA"> <input type="hidden" name="distribution" value="Syntax-Construct"> <button type="submit" class="favorite highlight"><span>14</span> ++</button> </form> </div> <div class="show-logged-out"> <button class="fav-not-logged-in favorite highlight"><span>14</span> ++</button> </div> / <span>Syntax::Construct</span> </div> </div> <main class="content"> <nav class="toc"> <div class="toc-header"><strong>Contents</strong></div> <ul> <li><a href="#NAME">NAME</a></li> <li><a href="#VERSION">VERSION</a></li> <li><a href="#SYNOPSIS">SYNOPSIS</a></li> <li><a href="#DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#Good-Practice">Good Practice</a></li> </ul> </li> <li><a href="#EXPORT">EXPORT</a></li> <li><a href="#RECOGNISED-CONSTRUCTS">RECOGNISED CONSTRUCTS</a> <ul> <li><a href="#5.008001">5.008001</a> <ul> <li><a href="#s-utf8-delimiters-hack">s-utf8-delimiters-hack</a></li> </ul> </li> <li><a href="#5.010">5.010</a> <ul> <li><a href="#recursive-sort">recursive-sort</a></li> <li><a href="#%2F%2F">//</a></li> <li><a href="#%3FPARNO">?PARNO</a></li> <li><a href="#%3F%3C%3E">?&lt;&gt;</a></li> <li><a href="#%3F%7C">?|</a></li> <li><a href="#quant%2B">quant+</a></li> <li><a href="#regex-verbs">regex-verbs</a></li> <li><a href="#%5CK">\K</a></li> <li><a href="#%5CR-%5Cv-%5Ch">\R \v \h</a></li> <li><a href="#%5CgN">\gN</a></li> <li><a href="#readline()">readline()</a></li> <li><a href="#stack-file-test">stack-file-test</a></li> <li><a href="#%2Fp">/p</a></li> <li><a href="#lexical-%24_">lexical-$_</a></li> <li><a href="#pack%3C">pack&lt;</a></li> </ul> </li> <li><a href="#5.012">5.012</a> <ul> <li><a href="#package-version">package-version</a></li> <li><a href="#...">...</a></li> <li><a href="#each-array">each-array</a></li> <li><a href="#keys-array">keys-array</a></li> <li><a href="#values-array">values-array</a></li> <li><a href="#delete-local">delete-local</a></li> <li><a href="#length-undef">length-undef</a></li> <li><a href="#%5CN">\N</a></li> <li><a href="#while-readdir">while-readdir</a></li> </ul> </li> <li><a href="#5.014">5.014</a> <ul> <li><a href="#%3F%5E">?^</a></li> <li><a href="#%2Fr">/r</a></li> <li><a href="#%2Fd">/d</a></li> <li><a href="#%2Fl">/l</a></li> <li><a href="#%2Fu">/u</a></li> <li><a href="#%2Fa">/a</a></li> <li><a href="#auto-deref">auto-deref</a></li> <li><a href="#%5EGLOBAL_PHASE">^GLOBAL_PHASE</a></li> <li><a href="#%5Co">\o</a></li> <li><a href="#package-block">package-block</a></li> <li><a href="#srand-return">srand-return</a></li> <li><a href="#prototype%2B">prototype+</a></li> </ul> </li> <li><a href="#5.016">5.016</a> <ul> <li><a href="#charnames">charnames</a></li> </ul> </li> <li><a href="#5.018">5.018</a> <ul> <li><a href="#computed-labels">computed-labels</a></li> <li><a href="#while-each">while-each</a></li> <li><a href="#method-on-any-string">method-on-any-string</a></li> <li><a href="#split-space">split-space</a></li> </ul> </li> <li><a href="#5.020">5.020</a> <ul> <li><a href="#attr-prototype">attr-prototype</a></li> <li><a href="#drand48">drand48</a></li> <li><a href="#%25slice">%slice</a></li> <li><a href="#unicode6.3">unicode6.3</a></li> <li><a href="#%5Cp%7BUnicode%7D">\p{Unicode}</a></li> <li><a href="#utf8-locale">utf8-locale</a></li> <li><a href="#s-utf8-delimiters">s-utf8-delimiters</a></li> </ul> </li> <li><a href="#5.022">5.022</a> <ul> <li><a href="#%3C%3C%3E%3E">&lt;&lt;&gt;&gt;</a></li> <li><a href="#%5Cb%7B%7D">\b{}</a></li> <li><a href="#%2Fn">/n</a></li> <li><a href="#unicode7.0">unicode7.0</a></li> <li><a href="#attr-const">attr-const</a></li> <li><a href="#fileno-dir">fileno-dir</a></li> <li><a href="#()x%3D">()x=</a></li> <li><a href="#hexfloat">hexfloat</a></li> <li><a href="#chr-inf">chr-inf</a></li> <li><a href="#empty-slice">empty-slice</a></li> <li><a href="#%2Fx-unicode">/x-unicode</a></li> </ul> </li> <li><a href="#5.024">5.024</a> <ul> <li><a href="#unicode8.0">unicode8.0</a></li> <li><a href="#%5Cb%7Blb%7D">\b{lb}</a></li> <li><a href="#sprintf-reorder">sprintf-reorder</a></li> </ul> </li> <li><a href="#5.026">5.026</a> <ul> <li><a href="#%3C%3C~">&lt;&lt;~</a></li> <li><a href="#%2Fxx">/xx</a></li> <li><a href="#%5ECAPTURE">^CAPTURE</a></li> <li><a href="#unicode9.0">unicode9.0</a></li> <li><a href="#unicode-scx">unicode-scx</a></li> <li><a href="#scalar%25">scalar%</a></li> </ul> </li> <li><a href="#5.028">5.028</a> <ul> <li><a href="#delete%25">delete%</a></li> <li><a href="#unicode10.0">unicode10.0</a></li> <li><a href="#state%40%3D">state@=</a></li> </ul> </li> <li><a href="#5.030">5.030</a> <ul> <li><a href="#unicode12.1">unicode12.1</a></li> <li><a href="#uniprop_wildcards">uniprop_wildcards</a></li> <li><a href="#qr%27N">qr&#39;N</a></li> <li><a href="#turkic-casing">turkic-casing</a></li> <li><a href="#%5ERE_COMPILE_RECURSION_LIMIT">^RE_COMPILE_RECURSION_LIMIT</a></li> </ul> </li> <li><a href="#5.032">5.032</a> <ul> <li><a href="#unicode13.0">unicode13.0</a></li> <li><a href="#chained-comparisons">chained-comparisons</a></li> <li><a href="#unicode-identifier-status">unicode-identifier-status</a></li> <li><a href="#unicode-name-property">unicode-name-property</a></li> </ul> </li> <li><a href="#5.034">5.034</a> <ul> <li><a href="#%7B%2Cn%7D">{,n}</a></li> <li><a href="#0o">0o</a></li> <li><a href="#blanks-in-curlies">blanks-in-curlies</a></li> </ul> </li> <li><a href="#5.036">5.036</a> <ul> <li><a href="#unicode14.0">unicode14.0</a></li> </ul> </li> <li><a href="#5.038">5.038</a> <ul> <li><a href="#unicode15.0">unicode15.0</a></li> <li><a href="#%5EHOOK">^HOOK</a></li> <li><a href="#signature-default-operator">signature-default-operator</a></li> <li><a href="#INCDIR">INCDIR</a></li> <li><a href="#*%7B%7D">*{}</a></li> <li><a href="#REG_INF_I32_MAX">REG_INF_I32_MAX</a></li> <li><a href="#%5ELAST_SUCCESSFUL_PATTERN">^LAST_SUCCESSFUL_PATTERN</a></li> </ul> </li> <li><a href="#5.040">5.040</a> <ul> <li><a href="#%5E%5E">^^</a></li> <li><a href="#__CLASS__">__CLASS__</a></li> <li><a href="#%3Areader">:reader</a></li> </ul> </li> <li><a href="#Removed-Constructs">Removed Constructs</a> <ul> <li><a href="#%3F%3F">??</a></li> <li><a href="#no-sigil">no-sigil</a></li> <li><a href="#for-qw">for-qw</a></li> <li><a href="#%40_%3Dsplit">@_=split</a></li> </ul> </li> <li><a href="#Accepted-Features">Accepted Features</a></li> </ul> </li> <li><a href="#AUTHOR">AUTHOR</a> <ul> <li><a href="#Contributors">Contributors</a></li> </ul> </li> <li><a href="#BUGS">BUGS</a> <ul> <li><a href="#Unstable-Perl-Versions">Unstable Perl Versions</a></li> </ul> </li> <li><a href="#SUPPORT">SUPPORT</a></li> <li><a href="#SEE-ALSO">SEE ALSO</a></li> <li><a href="#LICENSE-AND-COPYRIGHT">LICENSE AND COPYRIGHT</a></li> </ul></nav> <div class="pod anchors"> <h1 id="NAME">NAME</h1> <p>Syntax::Construct - Explicitly state which non-feature constructs are used in the code.</p> <h1 id="VERSION">VERSION</h1> <p>Version 1.040</p> <h1 id="SYNOPSIS">SYNOPSIS</h1> <p>For some new syntactic constructs, there is the <a href="/pod/feature">feature</a> pragma. For the rest, there is <b>Syntax::Construct</b>.</p> <pre><code>use Syntax::Construct qw( // ... /r ); my $x = shift // &#39;default&#39;; my $y = $x =~ s/de(fault)/$1/r; if ($y =~ /^fault/) { ... }</code></pre> <p>There are two subroutines (not exported) which you can use to query the lists of constructs programmatically: <code>introduced</code> and <code>removed</code> (see below).</p> <pre><code>my @constructs = Syntax::Construct::introduced(); say &quot;$_ was introduced in &quot;, Syntax::Construct::introduced($_) for @constructs;</code></pre> <h1 id="DESCRIPTION">DESCRIPTION</h1> <p>This module provides a simple way of specifying syntactic constructs that are not implemented via the <a href="/pod/feature">feature</a> pragma, but are still not compatible with older versions of Perl.</p> <p>It&#39;s the programmer&#39;s responsibility to track the constructs and list them (but see <a href="/pod/Perl::MinimumVersion">Perl::MinimumVersion</a> on how to extract the information from existing code).</p> <p>Using <code>use Syntax::Construct qw( // );</code> doesn&#39;t really change anything if you&#39;re running Perl 5.010+, but it gives much better error messages in older versions:</p> <pre><code>Unsupported construct //</code></pre> <p>instead of</p> <pre><code>Search pattern not terminated</code></pre> <p>Three groups of people can benefit from the module:</p> <ol> <li><p>The authors of the module using <a href="/pod/Syntax::Construct">Syntax::Construct</a> win, as they have all the constructs in one place (i.e. <a href="/pod/Syntax::Construct">Syntax::Construct</a>&#39;s documentation) and they don&#39;t waste their time searching through perldeltas and other places.</p> </li> <li><p>Users of their modules win as they get meaningful error messages telling them which Perl version they need to upgrade to.</p> </li> <li><p>The programmer they hired to work around the problem wins as they know what constructs to replace in the code to make it run in the ancient version.</p> </li> </ol> <h2 id="Good-Practice"><a id="Good"></a>Good Practice</h2> <p>Some programmers just use all the <i>non-features</i> their current Perl version provides without any notice. This leads to weird error messages in older Perl versions.</p> <p>Some other programmers will place <code>use 5.022;</code> towards the top of the script, even if the only <i>non-feature</i> they use is the <code>//</code> operator available in 5.010 already. This prevents users of older versions of Perl to run the script, even if it would otherwise be easily possible.</p> <p>The kindest programmers will add <code>use 5.010; # //</code> towards the top of the script. But it means they have to remember or find out what version introduced the <i>non-feature</i> they use.</p> <p><b>Syntax::Construct</b> liberates you from the need to remember all the <i>non-features</i> together with Perl versions that introduced them. It makes it easier for users of older Perl versions to migrate your code to their system. And finally, it improves the error messages they get.</p> <p>Similarly, it&#39;s a good practice to keep specifying <code>use feature qw{ postderef };</code> even if it&#39;s a no-op since 5.024: it makes your script available for people running older Perl versions. The same applies to <code>use charnames</code> in 5.016 and later, etc.</p> <h1 id="EXPORT">EXPORT</h1> <p>Nothing. Using <b>Syntax::Construct</b> with no parameters is an error, giving it an empty list is a no-op (but you can then access the <code>introduced</code> and <code>removed</code> subroutines).</p> <dl> <dt id="introduced">introduced</dt> <dd> <p>Without arguments, returns a list of all the supported constructs. With an argument, returns the version in which the given construct was introduced.</p> </dd> <dt id="removed">removed</dt> <dd> <p>Same as <code>introduced</code>, but for removed constructs (e.g. auto-deref in 5.024).</p> </dd> </dl> <h1 id="RECOGNISED-CONSTRUCTS"><a id="RECOGNISED"></a>RECOGNISED CONSTRUCTS</h1> <h2 id="5.008001"><a id="5"></a><a id="pod5.008001"></a>5.008001</h2> <h3 id="s-utf8-delimiters-hack"><a id="s"></a>s-utf8-delimiters-hack</h3> <p>See <a href="#s-utf8-delimiters">&quot;s-utf8-delimiters&quot;</a>. The hack doesn&#39;t seem to work in 5.008 and older. Removed in 5.020.</p> <h2 id="5.010"><a id="51"></a><a id="pod5.010"></a>5.010</h2> <h3 id="recursive-sort"><a id="recursive"></a>recursive-sort</h3> <p><a href="/pod/perl5100delta#Recursive-sort-subs">&quot;Recursive sort subs&quot; in perl5100delta</a>.</p> <h3 id="//"><a id="pod"></a>//</h3> <p><a href="/pod/perl5100delta#Defined-or-operator">&quot;Defined-or operator&quot; in perl5100delta</a> or <a href="/pod/perlop#Logical-Defined-Or">&quot;Logical Defined-Or&quot; in perlop</a>.</p> <p>Alias: defined-or</p> <h3 id="?PARNO"><a id="PARNO"></a>?PARNO</h3> <p>&quot;Recursive Patterns&quot; under <a href="/pod/perl5100delta#Regular-expressions">&quot;Regular expressions&quot; in perl5100delta</a> or <a href="/pod/perlre#(%3FPARNO)-(%3F-PARNO)-(%3F%2BPARNO)-(%3FR)-(%3F0)">&quot;(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)&quot; in perlre</a>.</p> <p>Alias: regex-recursive-subpattern</p> <h3 id="?&lt;&gt;"><a id="pod1"></a>?&lt;&gt;</h3> <p>&quot;Named Capture Buffers&quot; under <a href="/pod/perl5100delta#Regular-expressions">&quot;Regular expressions&quot; in perl5100delta</a> or <a href="/pod/perlre#(%3F%3CNAME%3Epattern)">&quot;(?&lt;NAME&gt;pattern)&quot; in perlre</a>.</p> <p>Alias: regex-named-capture-group</p> <h3 id="?|"><a id="pod2"></a>?|</h3> <p>Not mentioned in any Delta. See <b>(?|pattern)</b> in <a href="/pod/perlre#Extended-Patterns">&quot;Extended Patterns&quot; in perlre</a>.</p> <p>Alias: regex-reset-branch</p> <h3 id="quant+"><a id="quant"></a>quant+</h3> <p>&quot;Possessive Quantifiers&quot; under <a href="/pod/perl5100delta#Regular-expressions">&quot;Regular expressions&quot; in perl5100delta</a> or <a href="/pod/perlre#Quantifiers">&quot;Quantifiers&quot; in perlre</a>.</p> <p>Aliases: regex-possessive-quantifier regex-possessive-match</p> <h3 id="regex-verbs"><a id="regex"></a>regex-verbs</h3> <p>&quot;Backtracking control verbs&quot; under <a href="/pod/perl5100delta#Regular-expressions">&quot;Regular expressions&quot; in perl5100delta</a> or <a href="/pod/perlre#Special-Backtracking-Control-Verbs">&quot;Special Backtracking Control Verbs&quot; in perlre</a>.</p> <h3 id="\K"><a id="K"></a>\K</h3> <p>&quot;\K escape&quot; under <a href="/pod/perl5100delta#Regular-expressions">&quot;Regular expressions&quot; in perl5100delta</a> or <a href="/pod/perlre#Look-Around-Assertions">&quot;Look-Around Assertions&quot; in perlre</a>.</p> <p>Alias: regex-keep-left</p> <h3 id="\R-\v-\h"><a id="R-v-h"></a>\R \v \h</h3> <p>Covers <code>\V</code> and <code>\H</code>, too. See &quot;Vertical and horizontal whitespace, and linebreak&quot; under <a href="/pod/perl5100delta#Regular-expressions">&quot;Regular expressions&quot; in perl5100delta</a> or <a href="/pod/perlrebackslash#Misc">&quot;Misc&quot; in perlrebackslash</a>.</p> <p>Aliases: \H \V regex-generic-linebreak regex-horizontal-whitespace regex-vertical-whitespace</p> <h3 id="\gN"><a id="gN"></a>\gN</h3> <p>&quot;Relative backreferences&quot; under <a href="/pod/perl5100delta#Regular-expressions">&quot;Regular expressions&quot; in perl5100delta</a> or <a href="/pod/perlre#Capture-groups">&quot;Capture groups&quot; in perlre</a>.</p> <p>Alias: regex-relative-backreference</p> <h3 id="readline()"><a id="readline"></a>readline()</h3> <p><a href="/pod/perl5100delta#Default-argument-for-readline()">&quot;Default argument for readline()&quot; in perl5100delta</a>.</p> <p>Alias: readline-argv</p> <h3 id="stack-file-test"><a id="stack"></a>stack-file-test</h3> <p><a href="/pod/perl5100delta#Stacked-filetest-operators">&quot;Stacked filetest operators&quot; in perl5100delta</a>.</p> <h3 id="/p"><a id="p"></a>/p</h3> <p><code>/p</code> (preserve) modifier and <code>${^PREMATCH}</code>, <code>${^MATCH}</code> and <code>${^POSTMATCH}</code> variables. Not mentioned in any Delta. See <a href="/pod/perlvar#Variables-related-to-regular-expressions">&quot;Variables related to regular expressions&quot; in perlvar</a>.</p> <p>Alias: regex-preserve-match-captures</p> <h3 id="lexical-$_"><a id="lexical"></a><a id="lexical--_"></a>lexical-$_</h3> <p><a href="/pod/perl5100delta#Lexical-%24_">&quot;Lexical $_&quot; in perl5100delta</a>. Removed in 5.024.</p> <p>Alias: lexical-default-variable</p> <h3 id="pack&lt;"><a id="pack"></a>pack&lt;</h3> <p>See <a href="/pod/perl5100delta#Byte-order-modifiers-for-pack()-and-unpack()">&quot;Byte-order-modifiers-for-pack()-and-unpack()&quot; in perl5100delta</a></p> <p>Alias: pack-byte-order-modifiers</p> <h2 id="5.012"><a id="52"></a><a id="pod5.012"></a>5.012</h2> <h3 id="package-version"><a id="package"></a>package-version</h3> <p><a href="/pod/perl5120delta#New-package-NAME-VERSION-syntax">&quot;New package NAME VERSION syntax&quot; in perl5120delta</a></p> <h3 id="..."><a id="pod3"></a>...</h3> <p><a href="/pod/perl5120delta#The-...-operator">&quot;The ... operator&quot; in perl5120delta</a> or <a href="/pod/perlsyn#The-Ellipsis-Statement">&quot;The Ellipsis Statement&quot; in perlsyn</a></p> <p>Aliases: yada-yada triple-dot statement-ellipsis</p> <h3 id="each-array"><a id="each"></a>each-array</h3> <p><a href="/pod/perl5120delta#each%2C-keys%2C-values-are-now-more-flexible">&quot;each, keys, values are now more flexible&quot; in perl5120delta</a></p> <h3 id="keys-array"><a id="keys"></a>keys-array</h3> <p><a href="/pod/perl5120delta#each%2C-keys%2C-values-are-now-more-flexible">&quot;each, keys, values are now more flexible&quot; in perl5120delta</a></p> <h3 id="values-array"><a id="values"></a>values-array</h3> <p><a href="/pod/perl5120delta#each%2C-keys%2C-values-are-now-more-flexible">&quot;each, keys, values are now more flexible&quot; in perl5120delta</a></p> <h3 id="delete-local"><a id="delete"></a>delete-local</h3> <p><a href="/pod/perl5120delta#delete-local">&quot;delete local&quot; in perl5120delta</a></p> <h3 id="length-undef"><a id="length"></a>length-undef</h3> <p>See the ninth bullet in <a href="/pod/perl5120delta#Other-potentially-incompatible-changes">&quot;Other potentially incompatible changes&quot; in perl5120delta</a>.</p> <h3 id="\N"><a id="N"></a>\N</h3> <p><a href="/pod/perl5120delta#%5CN-experimental-regex-escape">&quot;\N experimental regex escape&quot; in perl5120delta</a>.</p> <p>Alias: regex-non-newline</p> <h3 id="while-readdir"><a id="while"></a>while-readdir</h3> <p><code>readdir</code> in a while-loop condition populates <code>$_</code>. Not mentioned in any delta, but see <code>readdir</code> in <a href="/pod/perlfunc">perlfunc</a>.</p> <h2 id="5.014"><a id="53"></a><a id="pod5.014"></a>5.014</h2> <h3 id="?^"><a id="pod4"></a>?^</h3> <p><a href="/pod/perl5140delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5140delta</a>.</p> <p>Alias: regex-use-default-modifiers</p> <h3 id="/r"><a id="r"></a>/r</h3> <p><a href="/pod/perl5140delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5140delta</a> and <a href="/pod/perlre#Modifiers">&quot;Modifiers&quot; in perlre</a>.</p> <p>Aliases: non-destructive-subst non-destructive-substitution</p> <h3 id="/d"><a id="d"></a>/d</h3> <p><a href="/pod/perl5140delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5140delta</a> and <a href="/pod/perlre#Modifiers">&quot;Modifiers&quot; in perlre</a>.</p> <p>Alias: regex-compile-as-default</p> <h3 id="/l"><a id="l"></a>/l</h3> <p><a href="/pod/perl5140delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5140delta</a> and <a href="/pod/perlre#Modifiers">&quot;Modifiers&quot; in perlre</a>.</p> <p>Alias: regex-compile-as-locale</p> <h3 id="/u"><a id="u"></a>/u</h3> <p><a href="/pod/perl5140delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5140delta</a> and <a href="/pod/perlre#Modifiers">&quot;Modifiers&quot; in perlre</a>.</p> <p>Aliases: regex-unicode-strings regex-compile-as-unicode-strings</p> <h3 id="/a"><a id="a"></a>/a</h3> <p><a href="/pod/perl5140delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5140delta</a> and <a href="/pod/perlre#Modifiers">&quot;Modifiers&quot; in perlre</a>.</p> <p>Alias: regex-restrict-ascii-range</p> <h3 id="auto-deref"><a id="auto"></a>auto-deref</h3> <p><a href="/pod/perl5140delta#Array-and-hash-container-functions-accept-references">&quot;Array and hash container functions accept references&quot; in perl5140delta</a>. See also <code>push</code>, <code>pop</code>, <code>shift</code>, <code>unshift</code>, <code>splice</code>, <code>keys</code>, <code>values</code>, and <code>each</code> in <a href="/pod/perlfunc">perlfunc</a>. Removed in 5.024.</p> <h3 id="^GLOBAL_PHASE"><a id="GLOBAL_PHASE"></a>^GLOBAL_PHASE</h3> <p>See <b>New global variable ${^GLOBAL_PHASE}</b> under <a href="/pod/perl5140delta#Other-Enhancements">&quot;Other Enhancements&quot; in perl5140delta</a>.</p> <p>Alias: global-phase</p> <h3 id="\o"><a id="o"></a>\o</h3> <p><a href="/pod/perl5140delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5140delta</a>.</p> <p>Alias: octal-escape</p> <h3 id="package-block"><a id="package1"></a>package-block</h3> <p>See <b>package block syntax</b> under <a href="/pod/perl5140delta#Syntactical-Enhancements">&quot;Syntactical Enhancements&quot; in perl5140delta</a>.</p> <h3 id="srand-return"><a id="srand"></a>srand-return</h3> <p>See <b>srand() now returns the seed</b> under <a href="/pod/perl5140delta#Other-Enhancements">&quot;Other Enhancements&quot; in perl5140delta</a>.</p> <h3 id="prototype+"><a id="prototype"></a>prototype+</h3> <p>See <a href="/pod/perl5140delta#Single-term-prototype">&quot;Single-term-prototype&quot; in perl5140delta</a>.</p> <h2 id="5.016"><a id="54"></a><a id="pod5.016"></a>5.016</h2> <h3 id="charnames">charnames</h3> <p>See <a href="/pod/perl5160delta#use-charnames-is-no-longer-needed-for-%5CN%7Bname%7D">&quot;use charnames is no longer needed for \N{name}&quot; in perl5160delta</a>.</p> <h2 id="5.018"><a id="55"></a><a id="pod5.018"></a>5.018</h2> <h3 id="computed-labels"><a id="computed"></a>computed-labels</h3> <p><a href="/pod/perl5180delta#Computed-Labels">&quot;Computed Labels&quot; in perl5180delta</a></p> <h3 id="while-each"><a id="while1"></a>while-each</h3> <p>See in <a href="/pod/perl5180delta#Selected-Bug-Fixes">&quot;Selected Bug Fixes&quot; in perl5180delta</a> or <code>each</code> in <a href="/pod/perlfunc">perlfunc</a>.</p> <h3 id="method-on-any-string"><a id="method"></a>method-on-any-string</h3> <p>See [perl #105922] in <a href="/pod/perl5180delta#Selected-Bug-Fixes">&quot;Selected Bug Fixes&quot; in perl5180delta</a>.</p> <h3 id="split-space"><a id="split"></a>split-space</h3> <p>See <a href="/pod/perl5180delta#split%27s-first-argument-is-more-consistently-interpreted">&quot;split&#39;s first argument is more consistently interpreted&quot; in perl5180delta</a>.</p> <h2 id="5.020"><a id="56"></a><a id="pod5.020"></a>5.020</h2> <h3 id="attr-prototype"><a id="attr"></a>attr-prototype</h3> <p><a href="/pod/perl5200delta#subs-now-take-a-prototype-attribute">&quot;subs now take a prototype attribute&quot; in perl5200delta</a></p> <p>Alias: attribute-prototype</p> <h3 id="drand48">drand48</h3> <p><a href="/pod/perl5200delta#rand-now-uses-a-consistent-random-number-generator">&quot;rand now uses a consistent random number generator&quot; in perl5200delta</a>. Note that on OpenBSD, Perl 5.020+ uses the system&#39;s own <code>drand48</code> unless seeded.</p> <h3 id="%slice"><a id="slice"></a>%slice</h3> <p><a href="/pod/perl5200delta#New-slice-syntax">&quot;New slice syntax&quot; in perl5200delta</a></p> <p>Alias: hash-slice</p> <h3 id="unicode6.3"><a id="unicode6"></a>unicode6.3</h3> <p><a href="/pod/perl5200delta#Unicode-6.3-now-supported">&quot;Unicode 6.3 now supported&quot; in perl5200delta</a></p> <p>Alias: unicode-6.3</p> <h3 id="\p{Unicode}"><a id="p-Unicode"></a>\p{Unicode}</h3> <p>See <b>New \p{Unicode} regular expression pattern property</b> in <a href="/pod/perl5200delta#Core-Enhancements">&quot;Core Enhancements&quot; in perl5200delta</a>.</p> <p>Alias: regex-property-unicode</p> <h3 id="utf8-locale"><a id="utf8"></a>utf8-locale</h3> <p>See <b>use locale now works on UTF-8 locales</b> in <a href="/pod/perl5200delta#Core-Enhancements">&quot;Core Enhancements&quot; in perl5200delta</a>.</p> <h3 id="s-utf8-delimiters"><a id="s1"></a>s-utf8-delimiters</h3> <p>See <a href="/pod/perl5200delta#Regular-Expressions">&quot;Regular Expressions&quot; in perl5200delta</a>: in older Perl versions, a hack around was possible: to specify the delimiter twice in substitution. Use <code>/s-utf8-delimiters-hack</code> if your code uses it.</p> <p>Alias: wide-char-delimiters</p> <h2 id="5.022"><a id="57"></a><a id="pod5.022"></a>5.022</h2> <h3 id="&lt;&lt;&gt;&gt;"><a id=""></a>&lt;&lt;&gt;&gt;</h3> <p><a href="/pod/perl5220delta#New-double-diamond-operator">&quot;New double-diamond operator&quot; in perl5220delta</a></p> <p>Aliases: double-diamond operator-double-diamond</p> <h3 id="\b{}"><a id="b"></a>\b{}</h3> <p><a href="/pod/perl5220delta#New-%5Cb-boundaries-in-regular-expressions">&quot;New \b boundaries in regular expressions&quot; in perl5220delta</a></p> <p>Aliases: regex-unicode-grapheme-cluster-boundary regex-unicode-boundary regex-unicode-word-boundary regex-unicode-sentence-boundary regex-unicode-line-break-boundary \b{sb} \b{wb} \b{gcb}</p> <h3 id="/n"><a id="n"></a>/n</h3> <p><a href="/pod/perl5220delta#Non-Capturing-Regular-Expression-Flag">&quot;Non-Capturing Regular Expression Flag&quot; in perl5220delta</a></p> <p>Alias: regex-non-capturing</p> <h3 id="unicode7.0"><a id="unicode7"></a>unicode7.0</h3> <p>See <b>Unicode 7.0 (with correction) is now supported</b> in <a href="/pod/perl5220delta#Core-Enhancements">&quot;Core Enhancements&quot; in perl5220delta</a>.</p> <p>Alias: unicode-7.0</p> <h3 id="attr-const"><a id="attr1"></a>attr-const</h3> <p><a href="/pod/perl5220delta#New-%3Aconst-subroutine-attribute">&quot;New :const subroutine attribute&quot; in perl5220delta</a></p> <p>Alias: attribute-const</p> <h3 id="fileno-dir"><a id="fileno"></a>fileno-dir</h3> <p><a href="/pod/perl5220delta#fileno-now-works-on-directory-handles">&quot;fileno now works on directory handles&quot; in perl5220delta</a></p> <h3 id="()x="><a id="x"></a>()x=</h3> <p><a href="/pod/perl5220delta#Assignment-to-list-repetition">&quot;Assignment to list repetition&quot; in perl5220delta</a></p> <p>Alias: list-repetition-assignment</p> <h3 id="hexfloat">hexfloat</h3> <p><a href="/pod/perl5220delta#Floating-point-parsing-has-been-improved">&quot;Floating point parsing has been improved&quot; in perl5220delta</a></p> <p>Alias: hexadecimal-floating-numbers</p> <h3 id="chr-inf"><a id="chr"></a>chr-inf</h3> <p><a href="/pod/perl5220delta#Packing-infinity-or-not-a-number-into-a-character-is-now-fatal">&quot;Packing infinity or not-a-number into a character is now fatal&quot; in perl5220delta</a></p> <p>Alias: pack-inf</p> <h3 id="empty-slice"><a id="empty"></a>empty-slice</h3> <p><a href="/pod/perl5220delta#List-slices-returning-empty-lists">&quot;List slices returning empty lists&quot; in perl5220delta</a></p> <h3 id="/x-unicode"><a id="x-unicode"></a>/x-unicode</h3> <p>See <b>qr/foo/x now ignores all Unicode pattern white space</b> in <a href="/pod/perl5220delta#Incompatible-Changes">&quot;Incompatible Changes&quot; in perl5220delta</a>.</p> <p>Aliases: regex-x-unicode regex-x-handles-unicode</p> <h2 id="5.024"><a id="58"></a><a id="pod5.024"></a>5.024</h2> <h3 id="unicode8.0"><a id="unicode8"></a>unicode8.0</h3> <p><a href="/pod/perl5240delta#Unicode-8.0-is-now-supported">&quot;Unicode 8.0 is now supported&quot; in perl5240delta</a>.</p> <p>Alias: unicode-8.0</p> <h3 id="\b{lb}"><a id="b-lb"></a>\b{lb}</h3> <p><a href="/pod/perl5240delta#New-%5Cb%7Blb%7D-boundary-in-regular-expressions">&quot;New \b{lb} boundary in regular expressions&quot; in perl5240delta</a>.</p> <h3 id="sprintf-reorder"><a id="sprintf"></a>sprintf-reorder</h3> <p><a href="/pod/perl5240delta#printf-and-sprintf-now-allow-reordered-precision-arguments">&quot;printf and sprintf now allow reordered precision arguments&quot; in perl5240delta</a>.</p> <p>Aliases: printf-precision-argument-reorder sprintf-precision-argument-reorder</p> <h2 id="5.026"><a id="59"></a><a id="pod5.026"></a>5.026</h2> <h3 id="&lt;&lt;~"><a id="pod5"></a>&lt;&lt;~</h3> <p><a href="/pod/perl5260delta#Indented-Here-documents">&quot;Indented Here documents&quot; in perl5260delta</a>.</p> <p>Alias: heredoc-indent</p> <h3 id="/xx"><a id="xx"></a>/xx</h3> <p><a href="/pod/perl5260delta#New-regular-expression-modifier-%2Fxx">&quot;New-regular-expression-modifier-/xx&quot; in perl5260delta</a>.</p> <p>Alias: regex-xx</p> <h3 id="^CAPTURE"><a id="CAPTURE"></a>^CAPTURE</h3> <p>See <code>@{^CAPTURE}</code>, <code>%{^CAPTURE}</code>, and <code>%{^CAPTURE_ALL}</code> in <a href="/pod/perl5260delta">perl5260delta</a>.</p> <p>Alias: capture-variable</p> <h3 id="unicode9.0"><a id="unicode9"></a>unicode9.0</h3> <p><a href="/pod/perl5260delta#Unicode-9.0-is-now-supported">&quot;Unicode 9.0 is now supported&quot; in perl5260delta</a>.</p> <p>Alias: unicode-9.0</p> <h3 id="unicode-scx"><a id="unicode"></a>unicode-scx</h3> <p>See <i>&quot;Use of \p{script} uses the improved Script_Extensions property&quot;</i> in <a href="/pod/perl5260delta">perl5260delta</a>.</p> <h3 id="scalar%"><a id="scalar"></a>scalar%</h3> <p>See <a href="/pod/perl5260delta#scalar(%25hash)-return-signature-changed">&quot;scalar(%hash) return signature changed&quot; in perl5260delta</a>. Specifying this construct means the 5.026+ behaviour, i.e. <code>scalar %hash</code> returns the number of keys.</p> <p>Alias: scalar-hash</p> <h2 id="5.028"><a id="510"></a><a id="pod5.028"></a>5.028</h2> <h3 id="delete%"><a id="delete1"></a>delete%</h3> <p>See <a href="/pod/perl5280delta#delete-on-key%2Fvalue-hash-slices">&quot;delete-on-key/value-hash-slices&quot; in perl5280delta</a>.</p> <p>Alias: hash-delete-slice</p> <h3 id="unicode10.0"><a id="unicode10"></a>unicode10.0</h3> <p>See <a href="/pod/perl5280delta#Unicode-10.0-is-supported">&quot;Unicode 10.0 is supported&quot; in perl5280delta</a>.</p> <p>Alias: unicode-10.0</p> <h3 id="state@="><a id="state"></a>state@=</h3> <p>See <a href="/pod/perl5280delta#Initialisation-of-aggregate-state-variables">&quot;Initialisation-of-aggregate-state-variables&quot; in perl5280delta</a>.</p> <p>Aliases: state-array state-hash list-context-state</p> <h2 id="5.030"><a id="511"></a><a id="pod5.030"></a>5.030</h2> <h3 id="unicode12.1"><a id="unicode12"></a>unicode12.1</h3> <p><a href="/pod/perl5300delta#Unicode-12.1-is-supported">&quot;Unicode 12.1 is supported&quot; in perl5300delta</a></p> <p>Alias: unicode-12.1</p> <h3 id="uniprop_wildcards">uniprop_wildcards</h3> <p><a href="/pod/perl5300delta#Wildcards-in-Unicode-property-value-specifications-are-now-partially-supported">&quot;Wildcards in Unicode property value specifications are now partially supported&quot; in perl5300delta</a></p> <h3 id="qr&#39;N"><a id="qr"></a><a id="qrN"></a>qr&#39;N</h3> <p><a href="/pod/perl5300delta#qr%27%5CN%7Bname%7D%27-is-now-supported">&quot;qr&#39;\N{name}&#39; is now supported&quot; in perl5300delta</a></p> <p>Alias: named-char-in-single-quoted-regex</p> <h3 id="turkic-casing"><a id="turkic"></a>turkic-casing</h3> <p>See <a href="/pod/perl5300delta#Turkic-UTF-8-locales-are-now-seamlessly-supported">&quot;Turkic UTF-8 locales are now seamlessly supported&quot; in perl5300delta</a>. <b>Beware:</b> the actual behaviour depends on the operating system&#39;s locale support. E.g. FreeBSD, DragonFly, and Solaris are known not to support it.</p> <h3 id="^RE_COMPILE_RECURSION_LIMIT"><a id="RE_COMPILE_RECURSION_LIMIT"></a>^RE_COMPILE_RECURSION_LIMIT</h3> <p>Not mentioned in any Delta. See <a href="/pod/perlvar#%24%7B%5ERE_COMPILE_RECURSION_LIMIT%7D">&quot;${^RE_COMPILE_RECURSION_LIMIT}&quot; in perlvar</a>.</p> <p>Alias: re-compile-recursion-limit</p> <h2 id="5.032"><a id="512"></a><a id="pod5.032"></a>5.032</h2> <h3 id="unicode13.0"><a id="unicode13"></a>unicode13.0</h3> <p><a href="/pod/perl5320delta#Unicode-13.0-is-supported">&quot;Unicode 13.0 is supported&quot; in perl5320delta</a></p> <p>Alias: unicode-13.0</p> <h3 id="chained-comparisons"><a id="chained"></a>chained-comparisons</h3> <p><a href="/pod/perl5320delta#Chained-comparisons-capability">&quot;Chained comparisons capability&quot; in perl5320delta</a></p> <h3 id="unicode-identifier-status"><a id="unicode1"></a>unicode-identifier-status</h3> <p><a href="/pod/perl5320delta#New-Unicode-properties-Identifier_Status-and-Identifier_Type-supported">&quot;New Unicode properties Identifier_Status and Identifier_Type supported&quot; in perl5320delta</a></p> <p>Alias: unicode-identifier-type</p> <h3 id="unicode-name-property"><a id="unicode2"></a>unicode-name-property</h3> <p><a href="/pod/perl5320delta#It">It is now possible to write \p{Name=...} in perl5320delta</a></p> <h2 id="5.034"><a id="513"></a><a id="pod5.034"></a>5.034</h2> <h3 id="{,n}"><a id="n1"></a>{,n}</h3> <p><a href="/pod/perl5340delta#qr%2F%7B%2Cn%7D%2F-is-now-accepted">&quot;qr/{,n}/ is now accepted&quot; in perl5340delta</a></p> <p>Alias: empty-left-quantifier</p> <h3 id="0o"><a id="o1"></a>0o</h3> <p><a href="/pod/perl5340delta#New-octal-syntax-0oddddd">&quot;New octal syntax 0oddddd&quot; in perl5340delta</a></p> <p>Alias: octal-literals</p> <h3 id="blanks-in-curlies"><a id="blanks"></a>blanks-in-curlies</h3> <p><a href="/pod/perl5340delta#Blanks-freely-allowed-within-but-adjacent-to-curly-braces">&quot;Blanks freely allowed within but adjacent to curly braces&quot; in perl5340delta</a></p> <h2 id="5.036"><a id="514"></a><a id="pod5.036"></a>5.036</h2> <h3 id="unicode14.0"><a id="unicode14"></a>unicode14.0</h3> <p><a href="/pod/perl5360delta#Unicode-14.0-is-supported">&quot;Unicode 14.0 is supported&quot; in perl5360delta</a></p> <h2 id="5.038"><a id="515"></a><a id="pod5.038"></a>5.038</h2> <h3 id="unicode15.0"><a id="unicode15"></a>unicode15.0</h3> <p><a href="/pod/perl5380delta#Unicode-15.0-is-supported">&quot;Unicode 15.0 is supported&quot; in perl5380delta</a></p> <h3 id="^HOOK"><a id="HOOK"></a>^HOOK</h3> <p><a href="/pod/perl5380delta#%25%7B%5EHOOK%7D-API-introduced">&quot;%{^HOOK} API introduced&quot; in perl5380delta</a></p> <p>Alias: keyword-hook</p> <h3 id="signature-default-operator"><a id="signature"></a>signature-default-operator</h3> <p><a href="/pod/perl5380delta#Defined-or-and-logical-or-assignment-default-expressions-in-signatures">&quot;Defined-or and logical-or assignment default expressions in signatures&quot; in perl5380delta</a></p> <h3 id="INCDIR">INCDIR</h3> <p><a href="/pod/perl5380delta#%40INC-Hook-Enhancements-and-%24INC-and-INCDIR">&quot;@INC Hook Enhancements and $INC and INCDIR&quot; in perl5380delta</a></p> <h3 id="*{}"><a id="pod6"></a>*{}</h3> <p><a href="/pod/perl5380delta#Optimistic-Eval-in-Patterns">&quot;Optimistic Eval in Patterns&quot; in perl5380delta</a></p> <p>Alias: optimistic-eval</p> <h3 id="REG_INF_I32_MAX">REG_INF_I32_MAX</h3> <p><a href="/pod/perl5380delta#REG_INF-has-been-raised-from-65%2C536-to-2%2C147%2C483%2C647">&quot;REG_INF has been raised from 65,536 to 2,147,483,647&quot; in perl5380delta</a></p> <h3 id="^LAST_SUCCESSFUL_PATTERN"><a id="LAST_SUCCESSFUL_PATTERN"></a>^LAST_SUCCESSFUL_PATTERN</h3> <p><a href="/pod/perl5380delta#New-regexp-variable-%24%7B%5ELAST_SUCCESSFUL_PATTERN%7D">&quot;New regexp variable ${^LAST_SUCCESSFUL_PATTERN}&quot; in perl5380delta</a></p> <h2 id="5.040"><a id="516"></a><a id="pod5.040"></a>5.040</h2> <h3 id="^^"><a id="pod7"></a>^^</h3> <p><a href="/pod/perl5400delta#New-%5E%5E-logical-xor-operator">&quot;New ^^ logical xor operator&quot; in perl5400delta</a></p> <p>Alias: logical-xor</p> <h3 id="__CLASS__"><a id="CLASS__"></a>__CLASS__</h3> <p><a href="/pod/perl5400delta#New-__CLASS__-Keyword">&quot;New __CLASS__ Keyword&quot; in perl5400delta</a>.</p> <h3 id=":reader"><a id="reader"></a>:reader</h3> <p><a href="/pod/perl5400delta#%3Areader-attribute-for-field-variables">&quot;:reader attribute for field variables&quot; in perl5400delta</a></p> <h2 id="Removed-Constructs"><a id="Removed"></a>Removed Constructs</h2> <p>Only constructs not mentioned above are listed here, i.e. constructs that were introduced before 5.008001.</p> <h3 id="??"><a id="pod8"></a>??</h3> <p>Removed in 5.022. See <a href="/pod/perl5220delta#Support-for-%3FPATTERN%3F-without-explicit-operator-has-been-removed">&quot;Support for ?PATTERN? without explicit operator has been removed&quot; in perl5220delta</a>.</p> <h3 id="no-sigil"><a id="no"></a>no-sigil</h3> <p>Removed in 5.022, not documented. Before that, if the first argument to <code>shift</code>, <code>unshift</code>, <code>pop</code>, <code>push</code>, <code>splice</code>, <code>keys</code>, <code>values</code>, and <code>each</code> was a global variable, it was possible to omit its sigil, e.g.</p> <pre><code>push arr, 12; # same as push @arr, 12</code></pre> <h3 id="for-qw"><a id="for"></a>for-qw</h3> <p>Removed in 5.018. See <a href="/pod/perl5180delta#qw(...)-can-no-longer-be-used-as-parentheses">&quot;qw(...)-can-no-longer-be-used-as-parentheses&quot; in perl5180delta</a>.</p> <h3 id="@_=split"><a id="split1"></a>@_=split</h3> <p>Removed in 5.012, but documented in 5.014. See <a href="/pod/perl5140delta#split()-and-%40_">&quot;split()-and-@_&quot; in perl5140delta</a>.</p> <p>Alias: split-populates-@_</p> <h2 id="Accepted-Features"><a id="Accepted"></a>Accepted Features</h2> <p>Some features have been accepted in Perl (<code>postderef</code> and <code>postderef_qq</code> in 5.024, <code>lexical_subs</code> in 5.026). In the spirit of Syntax::Construct, you should still declare them, even if their usage has no effect in newer Perl versions to provide meaningful error messages to users of older versions.</p> <h1 id="AUTHOR">AUTHOR</h1> <p>E. Choroba, <code>&lt;choroba at cpan.org&gt;</code></p> <h2 id="Contributors">Contributors</h2> <p>Gabor Szabo, JJ Merelo, tynovsky, Chris White, Mohammad S Anwar, Branislav Zahradnik</p> <h1 id="BUGS">BUGS</h1> <p>Please report any bugs or feature requests to the GitHub repository, see below.</p> <h2 id="Unstable-Perl-Versions"><a id="Unstable"></a>Unstable Perl Versions</h2> <p>In development versions of Perl, the removal of constructs is tested against the coming stable version -- e.g., 5.023 forbids all the removed constructs of 5.024. The behaviour of the module in such circumstances might still be, um, unstable.</p> <h1 id="SUPPORT">SUPPORT</h1> <p>You can find documentation for this module with the perldoc command.</p> <pre><code>perldoc Syntax::Construct</code></pre> <p>You can also look for information at:</p> <ul> <li><p>GitHub Repository</p> <p><a href="https://github.com/choroba/syntactic-construct">https://github.com/choroba/syntactic-construct</a></p> <p>Feel free to report issues and submit pull requests.</p> </li> <li><p>MetaCPAN, Open Source Search Engine for CPAN</p> <p><a href="https://metacpan.org/pod/Syntax::Construct">https://metacpan.org/pod/Syntax::Construct</a></p> </li> <li><p>Search CPAN</p> <p><a href="http://search.cpan.org/dist/Syntax-Construct/">http://search.cpan.org/dist/Syntax-Construct/</a></p> </li> </ul> <h1 id="SEE-ALSO"><a id="SEE"></a>SEE ALSO</h1> <p><a href="/pod/Perl::MinimumVersion">Perl::MinimumVersion</a>, <a href="/pod/Perl::MinimumVersion::Fast">Perl::MinimumVersion::Fast</a></p> <h1 id="LICENSE-AND-COPYRIGHT"><a id="LICENSE"></a>LICENSE AND COPYRIGHT</h1> <p>Copyright 2013 - 2025 E. Choroba.</p> <p>This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). You may obtain a copy of the full license at:</p> <p><a href="http://www.perlfoundation.org/artistic_license_2_0">http://www.perlfoundation.org/artistic_license_2_0</a></p> <p>Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.</p> <p>If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.</p> <p>This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.</p> <p>This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.</p> <p>Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS &quot;AS IS&quot; AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p></div> <div id="metacpan_install-instructions-dialog" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title">Module Install Instructions</h4> </div> <div class="modal-body"> <p>To install Syntax::Construct, copy and paste the appropriate command in to your terminal.</p> <p><a href="/dist/App-cpanminus/view/bin/cpanm">cpanm</a></p> <pre><code>cpanm Syntax::Construct</code></pre> <p><a href="/pod/CPAN">CPAN shell</a></p> <pre><code>perl -MCPAN -e shell install Syntax::Construct</code></pre> <p>For more information on module installation, please visit <a href="https://www.cpan.org/modules/INSTALL.html">the detailed CPAN module installation guide</a>.</p> </div> <div class="modal-footer"> <a href="#" data-dismiss="modal" class="btn">Close</a> </div> </div> </div> </div> </main> <div class="content-pagination"> </div> </div> <footer class="footer"> <div class="footer-container"> <div class="footer-social"> <div class="footer-link footer-logo"> <a href="/"> <img src="/static/images/metacpan-logo.svg" alt="MetaCPAN" /> </a> </div> <a class="footer-social-link" href="https://github.com/metacpan"> <i class="fab fa-github-square"></i> </a> <a class="footer-social-link" href="https://fosstodon.org/@metacpan"> <i class="fab fa-mastodon"></i> </a> </div> <div class="footer-links"> <div class="footer-link"> <a href="/about">About</a> </div> <div class="footer-link"> <a href="/about/sponsors">Sponsor</a> </div> <div class="footer-link"> <a href="https://grep.metacpan.org">grep::cpan</a> </div> <div class="footer-link"> <a href="/recent">Recent</a> </div> <div class="footer-link"> <a href="/about/faq">FAQ</a> </div> <div class="footer-link"> <a href="/tools">Tools</a> </div> <div class="footer-link"> <a href="https://fastapi.metacpan.org/">API</a> </div> <div class="footer-link"> <a href="https://www.perl.org/">Perl.org</a> </div> </div> <div class="footer-sponsors"> <a class="footer-sponsor-link" target="_blank" href="https://www.bytemark.co.uk/" rel="noopener"> <img class="footer-sponsor-bytemark" src="/static/images/sponsors/bytemark_logo.svg" alt="Bytemark logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://www.liquidweb.com/" rel="noopener"> <img class="footer-sponsor-liquidweb" src="/static/images/sponsors/liquidweb_logo.png" alt="liquidweb logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://deriv.com/careers/" rel="noopener"> <img class="footer-sponsor-deriv" src="/static/images/sponsors/deriv.svg" alt="Deriv logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://geocode.xyz" rel="noopener"> <img class="footer-sponsor-geocode" src="/static/images/sponsors/geocodelogo.svg" alt="Geocode logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://www.fastly.com/" rel="noopener"> <img class="footer-sponsor-fastly" src="/static/images/sponsors/fastly_logo.svg" alt="Fastly logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://opencagedata.com" rel="noopener"> <img class="footer-sponsor-opencage" src="/static/images/sponsors/open-cage.svg" alt="OpenCage logo"> </a> <!-- Added 2024-07-22 --> <a class="footer-sponsor-link" target="_blank" href="https://www.elastic.co/" rel="noopener"> <img class="footer-sponsor-elastic" src="/static/images/sponsors/elastic.svg" alt="Elastic logo"> </a> <!-- Added 2024-07-22 --> <a class="footer-sponsor-link" target="_blank" href="https://route4me.com/" rel="noopener"> <img class="footer-sponsor-route4me" src="/static/images/sponsors/route4me.png" alt="Route4Me logo"> </a> </div> </div> </footer> <div class="modal fade" tabindex="-1" role="dialog" id="metacpan_keyboard-shortcuts"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Keyboard Shortcuts</h4> </div> <div class="modal-body row"> <div class="col-md-6"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>Global</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>s</kbd> </td> <td>Focus search bar</td> </tr> <tr> <td class="keys"> <kbd>?</kbd> </td> <td>Bring up this help dialog</td> </tr> </tbody> </table> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>GitHub</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>g</kbd> <kbd>p</kbd> </td> <td>Go to pull requests</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>i</kbd> </td> <td>go to github issues (only if github is preferred repository)</td> </tr> </tbody> </table> </div> <div class="col-md-6"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>POD</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>g</kbd> <kbd>a</kbd> </td> <td>Go to author</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>c</kbd> </td> <td>Go to changes</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>i</kbd> </td> <td>Go to issues</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>d</kbd> </td> <td>Go to dist</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>r</kbd> </td> <td>Go to repository/SCM</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>s</kbd> </td> <td>Go to source</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>b</kbd> </td> <td>Go to file browse</td> </tr> </tbody> </table> </div> <div class="col-md-12"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>Search terms</th> </tr> </thead> <tbody> <tr> <td><em>module:</em> (e.g. <a href="/search?q=module%3APlugin">module:Plugin</a>)</td> </tr> <tr> <td><em>distribution:</em> (e.g. <a href="/search?q=distribution%3ADancer+auth">distribution:Dancer auth</a>)</td> </tr> <tr> <td><em>author:</em> (e.g. <a href="/search?q=author%3ASONGMU+Redis">author:SONGMU Redis</a>)</td> </tr> <tr> <td><em>version:</em> (e.g. <a href="/search?q=version%3A1.00">version:1.00</a>)</td> </tr> </tbody> </table> </div> </div> <div class="modal-footer"></div> </div> </div> </div> </body> </html>

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