this succinct listing gives you an overview and basic facts about their
status.
-So far I've merely tried to find and list the experimental features and infer
+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.
=head2 Current experiments
=over 8
-=item fork() emulation
+=item Smart match (C<~~>)
-Introduced in Perl 5.6.1
+Introduced in Perl 5.10.0
-See also L<perlfork>
+Modified in Perl 5.10.1, 5.12.0
-=item Weak references
+Using this feature triggers warnings in the category
+C<experimental::smartmatch>.
-Introduced in Perl 5.6.0
+The ticket for this experiment is
+L<[perl #13173]|https://github.com/Perl/perl5/issues/13173>.
-=item Internal file glob
+=item Pluggable keywords
-Introduced in Perl 5.6.0
+Introduced in Perl 5.11.2
-Accepted in XXX
+See L<perlapi/PL_keyword_plugin> for the mechanism.
-=item 64-bit support
+The ticket for this experiment is
+L<[perl #13199]|https://github.com/Perl/perl5/issues/13199>.
-Introduced in Perl 5.005
+=item Regular Expression Set Operations
-Accepted in XXX
+Introduced in Perl 5.18
-=item die accepts a reference
+Using this feature triggers warnings in the category
+C<experimental::regex_sets>.
-Introduced in Perl 5.005
+The ticket for this experiment is
+L<[perl #13197]|https://github.com/Perl/perl5/issues/13197>.
-Accepted in Perl XXX
+See also: L<perlrecharclass/Extended Bracketed Character Classes>
-=item Unicode support
+=item Subroutine signatures
-Introduced in Perl 5.6.0
+Introduced in Perl 5.20.0
-Accepted in Perl 5.8.0 XXX
+Using this feature triggers warnings in the category
+C<experimental::signatures>.
-=item -Dusemultiplicity -Duseithreads
+The ticket for this experiment is
+L<[perl #13681]|https://github.com/Perl/perl5/issues/13681>.
-Introduced in Perl 5.6.0
+=item Aliasing via reference
-=item Long Doubles Still Don't Work In Solaris
+Introduced in Perl 5.22.0
-Introduced in Perl 5.7.0
+Using this feature triggers warnings in the category
+C<experimental::refaliasing>.
-=item GetOpt::Long Options can now take multiple values at once (experimental)
+The ticket for this experiment is
+L<[perl #14150]|https://github.com/Perl/perl5/issues/14150>.
-C<Getopt::Long> upgraded to version 2.35
+See also: L<perlref/Assigning to References>
-Removed in Perl 5.8.8
+=item The "const" attribute
-=item 5.005-style threading
+Introduced in Perl 5.22.0
-Introduced in Perl 5.005
-
-Removed in Perl 5.10 XXX
+Using this feature triggers warnings in the category
+C<experimental::const_attr>.
-=item Test::Harness::Straps
-
-Moved from Perl 5.10.1 to CPAN
+The ticket for this experiment is
+L<[perl #14428]|https://github.com/Perl/perl5/issues/14428>.
-=item perlcc
+See also: L<perlsub/Constant Functions>
-Introduced in Perl 5.005
+=item use re 'strict';
-Moved from Perl 5.9.0 to CPAN
+Introduced in Perl 5.22.0
-=item C<our> can now have an experimental optional attribute C<unique>
+Using this feature triggers warnings in the category
+C<experimental::re_strict>.
-Introduced in Perl 5.8.0
+The ticket for this experiment is
+L<[perl #18755]|https://github.com/Perl/perl5/issues/18755>
-Deprecated in Perl 5.10.0
+See L<re/'strict' mode>
-=item Assertions
+=item The <:win32> IO pseudolayer
-The C<-A> command line switch
+Using this feature triggers warnings in the category
+C<experimental::win32_perlio>.
-Introduced in Perl 5.9.0
+The ticket for this experiment is
+L<[perl #13198]|https://github.com/Perl/perl5/issues/13198>.
-Removed in Perl 5.9.5
+See also L<perlrun/PERLIO>
-=item Linux abstract Unix domain sockets
+=item Declaring a reference to a variable
-Introduced in Perl 5.9.2
+Introduced in Perl 5.26.0
-See also L<Socket>
+Using this feature triggers warnings in the category
+C<experimental::declared_refs>.
-=item L<Pod::HTML2Pod|Pod::HTML2Pod>
+The ticket for this experiment is
+L<[perl #15458]|https://github.com/Perl/perl5/issues/15458>.
-=item L<Pod::PXML|Pod::PXML>
+See also: L<perlref/Declaring a Reference to a Variable>
-=item threads
+=item There is an C<installhtml> target in the Makefile.
-=item The <:pop> IO pseudolayer
+The ticket for this experiment is
+L<[perl #12726]|https://github.com/Perl/perl5/issues/12726>.
-See also L<perlrun>
+=item (Limited) Variable-length look-behind
-=item The <:win32> IO pseudolayer
+Introduced in Perl 5.30.0.
-See also L<perlrun>
+Variability of up to 255 characters is handled.
-=item MLDBM
+Using this feature triggers warnings in the category
+C<experimental::vlb>.
-See also L<perldsc>
+The ticket for this experiment is
+L<[perl #18756]|https://github.com/Perl/perl5/issues/18756>.
-=item internal functions with M flag
+See also: L<perlre/(*positive_lookbehind:I<pattern>)> and
+L<perlre/(*negative_lookbehind:I<pattern>)>
-See also L<perlguts>
+=item Unicode private use character hooks
-=item lex_start API
+Introduced in Perl 5.30.0.
-Introduced in Perl 5.13.7
+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.
-=item internal API for C<%H>
+Using this feature triggers warnings in the category
+C<experimental::private_use>.
-Introduced in Perl 5.13.7
+The ticket for this experiment is
+L<[perl #18758]|https://github.com/Perl/perl5/issues/18758>.
-See also C<cophh_> in L<perlapi>.
+=item isa infix operator
-=item av_create_and_push
+Introduced in Perl 5.32.0.
-=item av_create_and_unshift_one
+Using this feature triggers warnings in the category
+C<experimental::isa>.
-=item av_create_and_unshift_one
+The ticket for this experiment is
+L<[perl #18754]|https://github.com/Perl/perl5/issues/18754>
-=item PL_keyword_plugin
+=back
-=item hv_iternext_flags
+=head2 Accepted features
-=item lex_bufutf8
+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.
-=item lex_discard_to
+=over 8
-=item lex_grow_linestr
+=item 64-bit support
-=item lex_next_chunk
+Introduced in Perl 5.005
-=item lex_peek_unichar
+=item die accepts a reference
-=item lex_read_space
+Introduced in Perl 5.005
-=item lex_read_to
+=item DB module
-=item lex_read_unichar
+Introduced in Perl 5.6.0
-=item lex_stuff_pv
+See also L<perldebug>, L<perldebtut>
-=item lex_stuff_pvn
+=item Weak references
-=item lex_stuff_pvs
+Introduced in Perl 5.6.0
-=item lex_stuff_sv
+=item Internal file glob
-=item lex_unstuff
+Introduced in Perl 5.6.0
-=item parse_fullstmt
+=item fork() emulation
-=item parse_stmtseq
+Introduced in Perl 5.6.1
-=item PL_parser-E<gt>bufend
+See also L<perlfork>
-=item PL_parser-E<gt>bufptr
+=item -Dusemultiplicity -Duseithreads
-=item PL_parser-E<gt>linestart
+Introduced in Perl 5.6.0
-=item PL_parser-E<gt>linestr
+Accepted in Perl 5.8.0
-=item Perl_signbit
+=item Support for long doubles
-=item pad_findmy
+Introduced in Perl 5.6.0
-=item sv_utf8_decode
+Accepted in Perl 5.8.1
-=item sv_utf8_downgrade
+=item The C<\N> regex character class
-=item bytes_from_utf8
+The C<\N> character class, not to be confused with the named character
+sequence C<\N{NAME}>, denotes any non-newline character in a regular
+expression.
-=item bytes_to_utf8
+Introduced in Perl 5.12
-=item utf8_to_bytes
+Exact version of acceptance unclear, but no later than Perl 5.18.
-=item DB module
+=item C<(?{code})> and C<(??{ code })>
Introduced in Perl 5.6.0
-See also L<perldebug>, L<perldebtut>
-
-=item The pseudo-hash data type
-
-Introduced in Perl 5.6.0
+Accepted in Perl 5.20.0
-=item Lvalue subroutines
+See also L<perlre>
-Introduced in Perl 5.6.0
+=item Linux abstract Unix domain sockets
-See also L<perlsub>
+Introduced in Perl 5.9.2
-=item There is an C<installhtml> target in the Makefile.
+Accepted before Perl 5.20.0. The Socket library is now primarily maintained
+on CPAN, rather than in the perl core.
-=item Unicode in Perl on EBCDIC
+See also L<Socket>
-=item C<(?{code})>
+=item Lvalue subroutines
-See also L<perlre>
+Introduced in Perl 5.6.0
-=item C<(??{ code })>
+Accepted in Perl 5.20.0
-See also L<perlre>
+See also L<perlsub>
=item Backtracking control verbs
C<(*ACCEPT)>
-Introduced in: Perl 5.10
-
-See also: L<perlre/"Special Backtracking Control Verbs">
+Introduced in Perl 5.10
-=item Code expressions, conditional expressions, and independent expressions in regexes
+Accepted in Perl 5.20.0
+=item The <:pop> IO pseudolayer
-=item gv_try_downgrade
+See also L<perlrun/PERLIO>
-See also L<perlintern>
+Accepted in Perl 5.20.0
-=item Experimental Support for Sun Studio Compilers for Linux OS
+=item C<\s> in regexp matches vertical tab
-See also L<perllinux>
+Accepted in Perl 5.22.0
-=item Pluggable keywords
+=item Postfix dereference syntax
-See L<perlapi/PL_keyword_plugin> for the mechanism.
+Introduced in Perl 5.20.0
-Introduced in: Perl 5.11.2
+Accepted in Perl 5.24.0
=item Lexical subroutines
-Introduced in: Perl 5.18
+Introduced in Perl 5.18.0
-See also: L<perlsub/Lexical Subroutines>
+Accepted in Perl 5.26.0
-=back
+=item String- and number-specific bitwise operators
-=head2 Accepted features
+Introduced in Perl 5.22.0
-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.
+Accepted in Perl 5.28.0
-=over 8
+=item Alphabetic assertions
-=item The C<\N> regex character class
+Introduced in Perl 5.28.0
-The C<\N> character class, not to be confused with the named character
-sequence C<\N{NAME}>, denotes any non-newline character in a regular
-expression.
+Accepted in Perl 5.32.0
+
+=item Script runs
+
+Introduced in Perl 5.28.0
-Introduced in: Perl 5.12
+Accepted in Perl 5.32.0
=back
=over 8
+=item 5.005-style threading
+
+Introduced in Perl 5.005
+
+Removed in Perl 5.10
+
+=item perlcc
+
+Introduced in Perl 5.005
+
+Moved from Perl 5.9.0 to CPAN
+
+=item The pseudo-hash data type
+
+Introduced in Perl 5.6.0
+
+Removed in Perl 5.9.0
+
+=item GetOpt::Long Options can now take multiple values at once (experimental)
+
+C<Getopt::Long> upgraded to version 2.35
+
+Removed in Perl 5.8.8
+
+=item Assertions
+
+The C<-A> command line switch
+
+Introduced in Perl 5.9.0
+
+Removed in Perl 5.9.5
+
+=item Test::Harness::Straps
+
+Moved from Perl 5.10.1 to CPAN
+
=item C<legacy>
The experimental C<legacy> pragma was swallowed by the C<feature> pragma.
-Introduced in: 5.11.2
+Introduced in Perl 5.11.2
+
+Removed in Perl 5.11.3
+
+=item Lexical C<$_>
+
+Using this feature triggered warnings in the category
+C<experimental::lexical_topic>.
+
+Introduced in Perl 5.10.0
+
+Removed in Perl 5.24.0
+
+=item Array and hash container functions accept references
+
+Using this feature triggered warnings in the category
+C<experimental::autoderef>.
+
+Superseded by L</Postfix dereference syntax>.
+
+Introduced in Perl 5.14.0
-Removed in: 5.11.3
+Removed in Perl 5.24.0
+
+=item C<our> can have an experimental optional attribute C<unique>
+
+Introduced in Perl 5.8.0
+
+Deprecated in Perl 5.10.0
+
+Removed in Perl 5.28.0
=back
+=head1 SEE ALSO
+
+For a complete list of features check L<feature>.
+
=head1 AUTHORS
brian d foy C<< <brian.d.foy@gmail.com> >>
+SE<eacute>bastien Aperghis-Tramoni C<< <saper@cpan.org> >>
+
=head1 COPYRIGHT
Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >>