{
    "mode": "man",
    "parameter": "perlexperiment",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/perlexperiment/1/json",
    "generated": "2026-10-05T07:17:11Z",
    "sections": {
        "NAME": {
            "content": "perlexperiment - A listing of experimental features in Perl\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This document lists the current and past experimental features in the perl core. Although all\nof these are documented with their appropriate topics, this succinct listing gives you an\noverview and basic facts about their status.\n\nSo far we've merely tried to find and list the experimental features and infer their\ninception, versions, etc. There's a lot of speculation here.\n",
            "subsections": [
                {
                    "name": "Current experiments",
                    "content": "Smart match (\"~~\")\nIntroduced in Perl 5.10.0\n\nModified in Perl 5.10.1, 5.12.0\n\nDeprecated in 5.38.0\n\nWill be removed in 5.42.0\n\nUsing this feature triggers warnings in the category \"deprecated\".\n\nThe       ticket       for       this      experiment      is      [perl      #13173]\n<https://github.com/Perl/perl5/issues/13173>.\n\nPluggable keywords\nIntroduced in Perl 5.11.2\n\nSee \"PLkeywordplugin\" in perlapi for the mechanism.\n\nThe      ticket      for      this      experiment       is       [perl       #13199]\n<https://github.com/Perl/perl5/issues/13199>.\n\nAliasing via reference\nIntroduced in Perl 5.22.0\n\nUsing this feature triggers warnings in the category \"experimental::refaliasing\".\n\nThe       ticket       for       this      experiment      is      [perl      #14150]\n<https://github.com/Perl/perl5/issues/14150>.\n\nSee also: \"Assigning to References\" in perlref\n\nThe \"const\" attribute\nIntroduced in Perl 5.22.0\n\nUsing this feature triggers warnings in the category \"experimental::constattr\".\n\nThe      ticket      for      this      experiment       is       [perl       #14428]\n<https://github.com/Perl/perl5/issues/14428>.\n\nSee also: \"Constant Functions\" in perlsub\n\nuse re 'strict';\nIntroduced in Perl 5.22.0\n\nUsing this feature triggers warnings in the category \"experimental::restrict\".\n\nThe       ticket       for       this      experiment      is      [perl      #18755]\n<https://github.com/Perl/perl5/issues/18755>\n\nSee \"'strict' mode\" in re\n\nDeclaring a reference to a variable\nIntroduced in Perl 5.26.0\n\nUsing this feature triggers warnings in the category \"experimental::declaredrefs\".\n\nThe      ticket      for      this      experiment       is       [perl       #15458]\n<https://github.com/Perl/perl5/issues/15458>.\n\nSee also: \"Declaring a Reference to a Variable\" in perlref\n\nThere is an \"installhtml\" target in the Makefile.\nThe       ticket       for       this      experiment      is      [perl      #12726]\n<https://github.com/Perl/perl5/issues/12726>.\n\n(Limited) Variable-length look-behind\nIntroduced in Perl 5.30.0.\n\nVariability of up to 255 characters is handled.\n\nUsing this feature triggers warnings in the category \"experimental::vlb\".\n\nThe      ticket      for      this      experiment       is       [perl       #18756]\n<https://github.com/Perl/perl5/issues/18756>.\n\nSee       also:       \"(*positivelookbehind:pattern)\"       in       perlre      and\n\"(*negativelookbehind:pattern)\" in perlre\n\nUnicode private use character hooks\nIntroduced in Perl 5.30.0.\n\nThis feature is part of an interface intended for internal and  experimental  use  by\nthe perl5 developers.  You are unlikely to encounter it in the wild.\n\nUsing this feature triggers warnings in the category \"experimental::privateuse\".\n\nThe       ticket       for       this      experiment      is      [perl      #18758]\n<https://github.com/Perl/perl5/issues/18758>.\n\nUnicode property wildcards\nIntroduced in Perl 5.30.0.\n\nThis feature allows regular expression matching against Unicode character  properties\nto be expressed more concisely.\n\nUsing      this      feature      triggers      warnings      in     the     category\n\"experimental::unipropwildcards\".\n\nThe      ticket      for      this      experiment       is       [perl       #18759]\n<https://github.com/Perl/perl5/issues/18759>.\n\ntry/catch control structure\nIntroduced in Perl 5.34.0.\n\nUsing this feature triggers warnings in the category \"experimental::try\".\n\nThe       ticket       for       this      experiment      is      [perl      #18760]\n<https://github.com/Perl/perl5/issues/18760>\n\nUse of @ within subroutine signatures\nIntroduced in Perl 5.36.0 as part  of  a  reduction  in  the  scope  of  experimental\nsubroutine signatures.\n\nUsing  the default arguments array (@) within a subroutine that uses signatures will\nemit a  warning  in  the  category  \"experimental::argsarraywithsignatures\".  This\nincludes  @  directly,  elements  of  it such as $[$index], or situations where the\ndefault arguments array is accessed implicitly  such  as  \"shift\"  or  \"pop\"  without\narguments.\n\nfor loop with multiple iteration variables\nIntroduced in Perl 5.36.0.\n\nUsing this feature triggers warnings in the category \"experimental::forlist\".\n\nThis  feature  enables  a  parenthesized list of iteration variables for \"for\" rather\nthan a single variable.\n\nThe      ticket      for      this      experiment       is       [perl       #18744]\n<https://github.com/Perl/perl5/issues/18744>.\n\nThe builtin namespace\nIntroduced in Perl 5.36.0.\n\nUsing this feature triggers warnings in the category \"experimental::builtin\".\n\nIn  Perl  5.36.0, a new namespace, \"builtin\", was created for new core functions that\nwill not be present in every namespace, but will be  available  for  importing.   The\nnamespace  itself is considered an experiment.  Specific functions within it may also\nbe experimental.\n\nThe      ticket      for      this      experiment       is       [perl       #19764]\n<https://github.com/Perl/perl5/issues/19764>.\n\nThe defer block modifier\nIntroduced in Perl 5.36.0\n\nUsing this feature triggers warnings in the category \"experimental::defer\".\n\nThis  feature  adds  a new kind of block, a \"defer\" block, which will not be executed\nuntil the containing block is being exited.\n\nThe      ticket      for      this      experiment       is       [perl       #17949]\n<https://github.com/Perl/perl5/issues/17949>.\n\nExtra paired delimiters for quote-like operators\nIntroduced in Perl 5.36.0\n\nUsing      this      feature      triggers      warnings      in     the     category\n\"experimental::extrapaireddelimiters\".\n\nThis feature allows for many non-ASCII pairs of mirroring delimiters, for example:\n\nmy @array = qw« tinker tailer soldier spy »;\n\nThe      ticket      for      this      experiment       is       [perl       #19765]\n<https://github.com/Perl/perl5/issues/19765>.\n"
                },
                {
                    "name": "Accepted features",
                    "content": "These  features  were  so wildly successful and played so well with others that we decided to\nremove their experimental status and admit them as full, stable  features  in  the  world  of\nPerl,  lavishing  all  the benefits and luxuries thereof.  They are also awarded +5 Stability\nand +3 Charisma.\n\n64-bit support\nIntroduced in Perl 5.005\n\ndie accepts a reference\nIntroduced in Perl 5.005\n\nDB module\nIntroduced in Perl 5.6.0\n\nSee also perldebug, perldebtut\n\nWeak references\nIntroduced in Perl 5.6.0\n\nInternal file glob\nIntroduced in Perl 5.6.0\n\nfork() emulation\nIntroduced in Perl 5.6.1\n\nSee also perlfork\n\n-Dusemultiplicity -Duseithreads\nIntroduced in Perl 5.6.0\n\nAccepted in Perl 5.8.0\n\nSupport for long doubles\nIntroduced in Perl 5.6.0\n\nAccepted in Perl 5.8.1\n\nThe \"\\N\" regex character class\nThe \"\\N\" character class, not to  be  confused  with  the  named  character  sequence\n\"\\N{NAME}\", denotes any non-newline character in a regular expression.\n\nIntroduced in Perl 5.12\n\nExact version of acceptance unclear, but no later than Perl 5.18.\n\n\"(?{code})\" and \"(??{ code })\"\nIntroduced in Perl 5.6.0\n\nAccepted in Perl 5.20.0\n\nSee also perlre\n\nLinux abstract Unix domain sockets\nIntroduced in Perl 5.9.2\n\nAccepted before Perl 5.20.0.  The Socket library is now primarily maintained on CPAN,\nrather than in the perl core.\n\nSee also Socket\n\nLvalue subroutines\nIntroduced in Perl 5.6.0\n\nAccepted in Perl 5.20.0\n\nSee also perlsub\n\nBacktracking control verbs\n\"(*ACCEPT)\"\n\nIntroduced in Perl 5.10\n\nAccepted in Perl 5.20.0\n\nThe \":pop\" IO pseudolayer\nSee also \"PERLIO\" in perlrun\n\nAccepted in Perl 5.20.0\n\n\"\\s\" in regexp matches vertical tab\nAccepted in Perl 5.22.0\n\nPostfix dereference syntax\nIntroduced in Perl 5.20.0\n\nAccepted in Perl 5.24.0\n\nLexical subroutines\nIntroduced in Perl 5.18.0\n\nAccepted in Perl 5.26.0\n\nString- and number-specific bitwise operators\nIntroduced in Perl 5.22.0\n\nAccepted in Perl 5.28.0\n\nAlphabetic assertions\nIntroduced in Perl 5.28.0\n\nAccepted in Perl 5.32.0\n\nScript runs\nIntroduced in Perl 5.28.0\n\nAccepted in Perl 5.32.0\n\nThe infix \"isa\" operator\nIntroduced in Perl 5.32.0\n\nAccepted in Perl 5.36.0\n\nSubroutine signatures\nIntroduced in Perl 5.20.0\n\nAccepted in Perl 5.36.0\n\nRegular Expression Set Operations\nIntroduced in Perl 5.18\n\nAccepted in Perl 5.36\n\nSee : \"Extended Bracketed Character Classes\" in perlrecharclass\n"
                },
                {
                    "name": "Removed features",
                    "content": "These features are no longer considered experimental and their functionality has disappeared.\nIt's your own fault if you wrote production programs using these features after we explicitly\ntold you not to (see perlpolicy).\n\n5.005-style threading\nIntroduced in Perl 5.005\n\nRemoved in Perl 5.10\n\nperlcc  Introduced in Perl 5.005\n\nMoved from Perl 5.9.0 to CPAN\n\nThe pseudo-hash data type\nIntroduced in Perl 5.6.0\n\nRemoved in Perl 5.9.0\n\nGetOpt::Long Options can now take multiple values at once (experimental)\n\"Getopt::Long\" upgraded to version 2.35\n\nRemoved in Perl 5.8.8\n\nAssertions\nThe \"-A\" command line switch\n\nIntroduced in Perl 5.9.0\n\nRemoved in Perl 5.9.5\n\nTest::Harness::Straps\nMoved from Perl 5.10.1 to CPAN\n\n\"legacy\"\nThe experimental \"legacy\" pragma was swallowed by the \"feature\" pragma.\n\nIntroduced in Perl 5.11.2\n\nRemoved in Perl 5.11.3\n\nLexical $\nUsing this feature triggered warnings in the category \"experimental::lexicaltopic\".\n\nIntroduced in Perl 5.10.0\n\nRemoved in Perl 5.24.0\n\nArray and hash container functions accept references\nUsing this feature triggered warnings in the category \"experimental::autoderef\".\n\nSuperseded by \"Postfix dereference syntax\".\n\nIntroduced in Perl 5.14.0\n\nRemoved in Perl 5.24.0\n\n\"our\" can have an experimental optional attribute \"unique\"\nIntroduced in Perl 5.8.0\n\nDeprecated in Perl 5.10.0\n\nRemoved in Perl 5.28.0\n\nThe \":win32\" IO pseudolayer\nIntroduced in Perl 5.8.0 (or before)\n\nRemoved in Perl 5.36.0\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "For a complete list of features check feature.\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "brian d foy \"<brian.d.foy@gmail.com>\"\n\nSébastien Aperghis-Tramoni \"<saper@cpan.org>\"\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright 2010, brian d foy \"<brian.d.foy@gmail.com>\"\n",
            "subsections": []
        },
        "LICENSE": {
            "content": "You can use and redistribute this document under the same terms as Perl itself.\n\nperl v5.38.2                                 2026-08-18                            PERLEXPERIMENT(1)",
            "subsections": []
        }
    },
    "summary": "perlexperiment - A listing of experimental features in Perl",
    "flags": [],
    "examples": [],
    "see_also": [],
    "tldr": {
        "source": "not_found",
        "examples": []
    }
}