dwww Home | Manual pages | Find package

PERLEXPERIMENT(1)       Perl Programmers Reference Guide      PERLEXPERIMENT(1)

NAME
       perlexperiment - A listing of experimental features in Perl

DESCRIPTION
       This document lists the current and past experimental features in the
       perl core. Although all of these are documented with their appropriate
       topics, this succinct listing gives you an overview and basic facts
       about their status.

       So far we've merely tried to find and list the experimental features and
       infer their inception, versions, etc. There's a lot of speculation here.

   Current experiments
       Smart match ("~~")
               Introduced in Perl 5.10.0

               Modified in Perl 5.10.1, 5.12.0

               Deprecated in 5.38.0

               Will be removed in 5.42.0

               Using   this   feature   triggers   warnings   in  the  category
               "deprecated".

               The   ticket   for   this   experiment    is    [perl    #13173]
               <https://github.com/Perl/perl5/issues/13173>.

       Pluggable keywords
               Introduced in Perl 5.11.2

               See "PL_keyword_plugin" in perlapi for the mechanism.

               The    ticket    for    this   experiment   is   [perl   #13199]
               <https://github.com/Perl/perl5/issues/13199>.

       Aliasing via reference
               Introduced in Perl 5.22.0

               Using  this  feature   triggers   warnings   in   the   category
               "experimental::refaliasing".

               The    ticket    for    this   experiment   is   [perl   #14150]
               <https://github.com/Perl/perl5/issues/14150>.

               See also: "Assigning to References" in perlref

       use re 'strict';
               Introduced in Perl 5.22.0

               Using  this  feature   triggers   warnings   in   the   category
               "experimental::re_strict".

               The    ticket    for    this   experiment   is   [perl   #18755]
               <https://github.com/Perl/perl5/issues/18755>

               See "'strict' mode" in re

       Declaring a reference to a variable
               Introduced in Perl 5.26.0

               Using  this  feature   triggers   warnings   in   the   category
               "experimental::declared_refs".

               The    ticket    for    this   experiment   is   [perl   #15458]
               <https://github.com/Perl/perl5/issues/15458>.

               See also: "Declaring a Reference to a Variable" in perlref

       There is an "installhtml" target in the Makefile.
               The   ticket   for   this   experiment    is    [perl    #12726]
               <https://github.com/Perl/perl5/issues/12726>.

       (Limited) Variable-length look-behind
               Introduced in Perl 5.30.0.

               Variability of up to 255 characters is handled.

               Using   this   feature   triggers   warnings   in  the  category
               "experimental::vlb".

               The   ticket   for   this   experiment    is    [perl    #18756]
               <https://github.com/Perl/perl5/issues/18756>.

               See   also:   "(*positive_lookbehind:pattern)"   in  perlre  and
               "(*negative_lookbehind:pattern)" in perlre

       Unicode private use character hooks
               Introduced in Perl 5.30.0.

               This feature is part of an interface intended for  internal  and
               experimental  use  by the perl5 developers.  You are unlikely to
               encounter it in the wild.

               Using  this  feature   triggers   warnings   in   the   category
               "experimental::private_use".

               The    ticket    for    this   experiment   is   [perl   #18758]
               <https://github.com/Perl/perl5/issues/18758>.

       Unicode property wildcards
               Introduced in Perl 5.30.0.

               This feature allows regular expression matching against  Unicode
               character properties to be expressed more concisely.

               Using   this   feature   triggers   warnings   in  the  category
               "experimental::uniprop_wildcards".

               The   ticket   for   this   experiment    is    [perl    #18759]
               <https://github.com/Perl/perl5/issues/18759>.

       try/catch control structure
               Introduced in Perl 5.34.0.

               Using the optional "finally" block part of this feature triggers
               warnings in the category "experimental::try".

               The    ticket    for    this   experiment   is   [perl   #18760]
               <https://github.com/Perl/perl5/issues/18760>

       Use of @_ within subroutine signatures
               Introduced in Perl 5.36.0 as part of a reduction in the scope of
               experimental subroutine signatures.

               Using the default arguments array (@_) within a subroutine  that
               uses   signatures   will   emit   a   warning  in  the  category
               "experimental::args_array_with_signatures".  This  includes   @_
               directly, elements of it such as $_[$index], or situations where
               the  default  arguments  array  is  accessed  implicitly such as
               "shift" or "pop" without arguments.

       The builtin namespace
               Introduced in Perl 5.36.0.

               Using certain functions of this feature triggers warnings in the
               category "experimental::builtin".

               In Perl 5.36.0, a new namespace, "builtin", was created for  new
               core  functions that will not be present in every namespace, but
               will be available  for  importing.   The  namespace  itself  was
               considered   experimental  until  Perl  5.39.2.   Some  specific
               functions within it remain experimental.

               The   ticket   for   this   experiment    is    [perl    #19764]
               <https://github.com/Perl/perl5/issues/19764>.

       The defer block modifier
               Introduced in Perl 5.36.0

               Using   this   feature   triggers   warnings   in  the  category
               "experimental::defer".

               This feature adds a new kind of block, a  "defer"  block,  which
               will not be executed until the containing block is being exited.

               The    ticket    for    this   experiment   is   [perl   #17949]
               <https://github.com/Perl/perl5/issues/17949>.

       Extra paired delimiters for quote-like operators
               Introduced in Perl 5.36.0

               Using  this  feature   triggers   warnings   in   the   category
               "experimental::extra_paired_delimiters".

               This  feature  allows  for  many  non-ASCII  pairs  of mirroring
               delimiters, for example:

                   my @array = qw« tinker tailor soldier spy »;

               The   ticket   for   this   experiment    is    [perl    #19765]
               <https://github.com/Perl/perl5/issues/19765>.

   Accepted features
       These  features were so wildly successful and played so well with others
       that we decided to remove their experimental status and  admit  them  as
       full,  stable  features in the world of Perl, lavishing all the benefits
       and luxuries thereof.   They  are  also  awarded  +5  Stability  and  +3
       Charisma.

       64-bit support
               Introduced in Perl 5.005

       die accepts a reference
               Introduced in Perl 5.005

       DB module
               Introduced in Perl 5.6.0

               See also perldebug, perldebtut

       Weak references
               Introduced in Perl 5.6.0

       Internal file glob
               Introduced in Perl 5.6.0

       fork() emulation
               Introduced in Perl 5.6.1

               See also perlfork

       -Dusemultiplicity -Duseithreads
               Introduced in Perl 5.6.0

               Accepted in Perl 5.8.0

       Support for long doubles
               Introduced in Perl 5.6.0

               Accepted in Perl 5.8.1

       The "\N" regex character class
               The  "\N"  character  class,  not  to be confused with the named
               character sequence "\N{NAME}", denotes any non-newline character
               in a regular expression.

               Introduced in Perl 5.12

               Exact version of acceptance unclear,  but  no  later  than  Perl
               5.18.

       "(?{code})" and "(??{ code })"
               Introduced in Perl 5.6.0

               Accepted in Perl 5.20.0

               See also perlre

       Linux abstract Unix domain sockets
               Introduced in Perl 5.9.2

               Accepted   before  Perl  5.20.0.   The  Socket  library  is  now
               primarily maintained on CPAN, rather than in the perl core.

               See also Socket

       Lvalue subroutines
               Introduced in Perl 5.6.0

               Accepted in Perl 5.20.0

               See also perlsub

       Backtracking control verbs
               "(*ACCEPT)"

               Introduced in Perl 5.10

               Accepted in Perl 5.20.0

       The ":pop" IO pseudolayer
               See also "PERLIO" in perlrun

               Accepted in Perl 5.20.0

       "\s" in regexp matches vertical tab
               Accepted in Perl 5.22.0

       Postfix dereference syntax
               Introduced in Perl 5.20.0

               Accepted in Perl 5.24.0

       Lexical subroutines
               Introduced in Perl 5.18.0

               Accepted in Perl 5.26.0

       String- and number-specific bitwise operators
               Introduced in Perl 5.22.0

               Accepted in Perl 5.28.0

       Alphabetic assertions
               Introduced in Perl 5.28.0

               Accepted in Perl 5.32.0

       Script runs
               Introduced in Perl 5.28.0

               Accepted in Perl 5.32.0

       The infix "isa" operator
               Introduced in Perl 5.32.0

               Accepted in Perl 5.36.0

       Subroutine signatures
               Introduced in Perl 5.20.0

               Accepted in Perl 5.36.0

       Regular Expression Set Operations
               Introduced in Perl 5.18

               Accepted in Perl 5.36

               See : "Extended Bracketed Character Classes" in perlrecharclass

       try/catch control structure
               Introduced in Perl 5.34.0.

               Accepted in Perl 5.40 when  not  using  the  optional  "finally"
               block.

       The "const" attribute
               Introduced in Perl 5.22.0

               Accepted in Perl 5.40

               See also: "Constant Functions" in perlsub

       for loop with multiple iteration variables
               Introduced in Perl 5.36.0.

               Accepted in Perl 5.40.

               This feature enables a parenthesized list of iteration variables
               for "for" rather than a single variable.

   Removed features
       These   features   are  no  longer  considered  experimental  and  their
       functionality  has  disappeared.  It's  your  own  fault  if  you  wrote
       production  programs  using  these features after we explicitly told you
       not to (see perlpolicy).

       5.005-style threading
               Introduced in Perl 5.005

               Removed in Perl 5.10

       perlcc  Introduced in Perl 5.005

               Moved from Perl 5.9.0 to CPAN

       The pseudo-hash data type
               Introduced in Perl 5.6.0

               Removed in Perl 5.9.0

       GetOpt::Long Options can now take multiple values at once (experimental)
               "Getopt::Long" upgraded to version 2.35

               Removed in Perl 5.8.8

       Assertions
               The "-A" command line switch

               Introduced in Perl 5.9.0

               Removed in Perl 5.9.5

       Test::Harness::Straps
               Moved from Perl 5.10.1 to CPAN

       "legacy"
               The experimental "legacy" pragma was swallowed by the  "feature"
               pragma.

               Introduced in Perl 5.11.2

               Removed in Perl 5.11.3

       Lexical $_
               Using   this   feature   triggered   warnings  in  the  category
               "experimental::lexical_topic".

               Introduced in Perl 5.10.0

               Removed in Perl 5.24.0

       Array and hash container functions accept references
               Using  this  feature  triggered   warnings   in   the   category
               "experimental::autoderef".

               Superseded by "Postfix dereference syntax".

               Introduced in Perl 5.14.0

               Removed in Perl 5.24.0

       "our" can have an experimental optional attribute "unique"
               Introduced in Perl 5.8.0

               Deprecated in Perl 5.10.0

               Removed in Perl 5.28.0

       The ":win32" IO pseudolayer
               Introduced in Perl 5.8.0 (or before)

               Removed in Perl 5.36.0

SEE ALSO
       For a complete list of features check feature.

AUTHORS
       brian d foy "<brian.d.foy@gmail.com>"

       Sébastien Aperghis-Tramoni "<saper@cpan.org>"

COPYRIGHT
       Copyright 2010, brian d foy "<brian.d.foy@gmail.com>"

LICENSE
       You  can use and redistribute this document under the same terms as Perl
       itself.

perl v5.40.1                       2026-08-30                 PERLEXPERIMENT(1)

Generated by dwww version 1.16 on Sat Oct 3 06:49:51 CEST 2026.