This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add perlexperiment to detail experimental features
authorbrian d foy <brian.d.foy@gmail.com>
Mon, 25 Oct 2010 05:10:06 +0000 (00:10 -0500)
committerRicardo Signes <rjbs@cpan.org>
Tue, 2 Aug 2011 15:31:58 +0000 (11:31 -0400)
nearly all this work merged from brian d foy's briandfoy/perlexperiment branch,
tidied up and squished by rjbs

MANIFEST
pod.lst
pod/perl.pod
pod/perlexperiment.pod [new file with mode: 0644]
vms/descrip_mms.template
win32/pod.mak

index e304e9e..6fbbc3e 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -4428,6 +4428,7 @@ pod/perldsc.pod                   Perl data structures intro
 pod/perldtrace.pod             Perl's support for DTrace
 pod/perlebcdic.pod             Considerations for running Perl on EBCDIC platforms
 pod/perlembed.pod              Perl ways to embed perl in your C or C++ application
+pod/perlexperiment.pod         A listing of experimental features in Perl
 pod/perlfilter.pod             Perl source filters
 pod/perlfork.pod               Perl fork() information
 pod/perlform.pod               Perl formats
diff --git a/pod.lst b/pod.lst
index 43327c7..b672989 100644 (file)
--- a/pod.lst
+++ b/pod.lst
@@ -196,6 +196,8 @@ h Miscellaneous
   perl5005delta                Perl changes in version 5.005
   perl5004delta                Perl changes in version 5.004
 
+  perlexperiment       A listing of experimental features in Perl
+
   perlartistic         Perl Artistic License
   perlgpl              GNU General Public License
 
index b6fa987..84a04c5 100644 (file)
@@ -218,6 +218,8 @@ For ease of access, the Perl manual has been split up into several sections.
     perl5005delta      Perl changes in version 5.005
     perl5004delta      Perl changes in version 5.004
 
+    perlexperiment     A listing of experimental features in Perl
+
     perlartistic       Perl Artistic License
     perlgpl            GNU General Public License
 
diff --git a/pod/perlexperiment.pod b/pod/perlexperiment.pod
new file mode 100644 (file)
index 0000000..f9e54e4
--- /dev/null
@@ -0,0 +1,311 @@
+=head1 NAME
+
+perlexperiment - A listing of experimental features in Perl
+
+=head1 DESCRIPTION
+
+This document lists the current and past experimental features in the perl
+core. Although each of these are documented with their appropriate topics,
+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
+their inception, etc versions. There's a lot of speculation here.
+
+=head2 Current experiments
+
+=over 8
+
+=item fork() emulation
+
+Introduced in Perl 5.6.1
+
+See also L<perlfork>
+
+=item Weak references
+
+Introduced in Perl 5.6.0
+
+=item Internal file glob
+
+Introduced in Perl 5.6.0
+
+Accepted in XXX
+
+=item 64-bit support
+
+Introduced in Perl 5.005
+
+Accepted in XXX
+
+=item die accepts a reference
+
+Introduced in Perl 5.005
+
+Accecpted in Perl XXX
+
+=item Unicode support
+
+Introduced in Perl 5.6.0
+
+Accepted in Perl 5.8.0 XXX
+
+=item -Dusemultiplicity -Dusethreads
+
+Introduced in Perl 5.6.0
+
+=item Long Doubles Still Don't Work In Solaris
+
+Introduced in Perl 5.7.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 5.005-style threading
+
+Introduced in Perl 5.005
+
+Removed in Perl 5.10 XXX
+
+=item Test::Harness::Straps
+
+Removed in Perl 5.10.1
+
+=item perlcc
+
+Introduced in Perl 5.005
+
+Removed in Perl 5.9.0
+
+See also L<perlcompile>
+
+=item C<our> can now have an experimental optional attribute C<unique>
+
+Introduced in Perl 5.8.0
+
+=item Assertions
+
+The C<-A> command line switch
+
+Introduced in Perl 5.9.0
+
+Removed in Perl 5.9.5
+
+=item Linux abstract Unix domain sockets
+
+Introduced in Perl 5.9.2
+
+See also L<Socket>
+
+=item L<Pod::HTML2Pod|Pod::HTML2Pod>
+
+=item L<Pod::PXML|Pod::PXML>
+
+=item threads
+
+=item The <:pop> IO psuedolayer
+
+See also L<perlrun>
+
+=item The <:win32> IO psuedolayer
+
+See also L<perlrun>
+
+=item fields pragma
+
+Introduced in Perl 5.6.0
+
+Removed in XXX
+
+=item MLDBM
+
+See also L<perldsc>
+
+=item internal functions with M flag
+
+See also L<perlguts>
+
+=item lex_start API
+
+Introduced in Perl 5.13.7
+
+=item internal API for C<%H>
+
+Introduced in Perl 5.13.7
+
+See also C<cophh_> in L<perlapi>.
+
+=item av_create_and_push
+
+=item av_create_and_unshift_one
+
+=item av_create_and_unshift_one
+
+=item PL_keyword_plugin
+
+=item hv_iternext_flags
+
+=item lex_bufutf8
+
+=item lex_discard_to
+
+=item lex_grow_linestr
+
+=item lex_next_chunk
+
+=item lex_peek_unichar
+
+=item lex_read_space
+
+=item lex_read_to
+
+=item lex_read_unichar
+
+=item lex_stuff_pv
+
+=item lex_stuff_pvn
+
+=item lex_stuff_pvs
+
+=item lex_stuff_sv
+
+=item lex_unstuff
+
+=item parse_fullstmt
+
+=item parse_stmtseq
+
+=item PL_parser-E<gt>bufend
+
+=item PL_parser-E<gt>bufptr
+
+=item PL_parser-E<gt>linestart
+
+=item PL_parser-E<gt>linestr
+
+=item Perl_signbit
+
+=item pad_findmy
+
+=item sv_utf8_decode
+
+=item sv_utf8_downgrade
+
+=item bytes_from_utf8
+
+=item bytes_to_utf8
+
+=item utf8_to_bytes
+
+=item DB module
+
+Introduced in Perl 5.6.0
+
+See also L<perldebug>, L<perldebtut>
+
+=item The pseudo-hash data type
+
+Introduced in Perl 5.6.0
+
+=item Lvalue subroutines
+
+Introduced in Perl 5.6.0
+
+See also L<perlsub>
+
+=item There is an C<installhtml> target in the Makefile.
+
+=item Unicode in Perl on EBCDIC
+
+=item C<(?{code})>
+
+See also L<perlre>
+
+=item C<(??{ code })>
+
+See also L<perlre>
+
+=item Backtracking control verbs
+
+C<(*ACCEPT)>
+
+Introduced in: Perl 5.10
+
+See also: L<perlre/"Special Backtracking Control Verbs">
+
+=item Code expressions, conditional expressions, and independent expressions in regexes
+
+=item The C<\N> regex character class
+
+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.
+
+Introduced in: Perl 5.12
+
+See also: 
+
+=item gv_try_downgrade
+
+See also L<perlintern>
+
+=item Experimental Support for Sun Studio Compilers for Linux OS
+
+See also L<perllinux>
+
+=item Pluggable keywords
+
+See L<perlapi/PL_keyword_plugin> for the mechanism.
+
+Introduced in: Perl 5.11.2
+
+=back
+
+=head2 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.
+
+=over 8
+
+=item (none yet identified)
+
+=back
+
+=head2 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 L<perlpolicy>).
+
+=over 8
+
+=item C<legacy>
+
+The experimental C<legacy> pragma was swallowed by the C<feature> pragma.
+
+Introduced in: 5.11.2
+
+Removed in: 5.11.3
+
+=back
+
+=head1 AUTHORS
+
+brian d foy C<< <brian.d.foy@gmail.com> >>
+
+=head1 COPYRIGHT
+
+Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >>
+
+=head1 LICENSE
+
+You can use and redistribute this document under the same terms as Perl
+itself.
+
+=cut
index bc5ea14..a3706f6 100644 (file)
@@ -407,12 +407,12 @@ pod12 = [.lib.pods]perlbook.pod [.lib.pods]perlboot.pod [.lib.pods]perlbot.pod [
 pod13 = [.lib.pods]perlcheat.pod [.lib.pods]perlclib.pod [.lib.pods]perlcn.pod [.lib.pods]perlcommunity.pod [.lib.pods]perlcompile.pod
 pod14 = [.lib.pods]perlcygwin.pod [.lib.pods]perldata.pod [.lib.pods]perldbmfilter.pod [.lib.pods]perldebguts.pod [.lib.pods]perldebtut.pod
 pod15 = [.lib.pods]perldebug.pod [.lib.pods]perldelta.pod [.lib.pods]perldgux.pod [.lib.pods]perldiag.pod [.lib.pods]perldos.pod [.lib.pods]perldsc.pod
-pod16 = [.lib.pods]perldtrace.pod [.lib.pods]perlebcdic.pod [.lib.pods]perlembed.pod [.lib.pods]perlepoc.pod [.lib.pods]perlfilter.pod
-pod17 = [.lib.pods]perlfork.pod [.lib.pods]perlform.pod [.lib.pods]perlfreebsd.pod [.lib.pods]perlfunc.pod [.lib.pods]perlgit.pod [.lib.pods]perlglossary.pod
-pod18 = [.lib.pods]perlgpl.pod [.lib.pods]perlguts.pod [.lib.pods]perlhack.pod [.lib.pods]perlhacktips.pod [.lib.pods]perlhacktut.pod
-pod19 = [.lib.pods]perlhaiku.pod [.lib.pods]perlhist.pod [.lib.pods]perlhpux.pod [.lib.pods]perlhurd.pod [.lib.pods]perlintern.pod [.lib.pods]perlinterp.pod
-pod20 = [.lib.pods]perlintro.pod [.lib.pods]perliol.pod [.lib.pods]perlipc.pod [.lib.pods]perlirix.pod [.lib.pods]perljp.pod [.lib.pods]perlko.pod
-pod21 = [.lib.pods]perllexwarn.pod [.lib.pods]perllinux.pod [.lib.pods]perllocale.pod [.lib.pods]perllol.pod [.lib.pods]perlmacos.pod
+pod16 = [.lib.pods]perldtrace.pod [.lib.pods]perlebcdic.pod [.lib.pods]perlembed.pod [.lib.pods]perlepoc.pod [.lib.pods]perlexperiment.pod
+pod17 = [.lib.pods]perlfilter.pod [.lib.pods]perlfork.pod [.lib.pods]perlform.pod [.lib.pods]perlfreebsd.pod [.lib.pods]perlfunc.pod [.lib.pods]perlgit.pod
+pod18 = [.lib.pods]perlglossary.pod [.lib.pods]perlgpl.pod [.lib.pods]perlguts.pod [.lib.pods]perlhack.pod [.lib.pods]perlhacktips.pod
+pod19 = [.lib.pods]perlhacktut.pod [.lib.pods]perlhaiku.pod [.lib.pods]perlhist.pod [.lib.pods]perlhpux.pod [.lib.pods]perlhurd.pod [.lib.pods]perlintern.pod
+pod20 = [.lib.pods]perlinterp.pod [.lib.pods]perlintro.pod [.lib.pods]perliol.pod [.lib.pods]perlipc.pod [.lib.pods]perlirix.pod [.lib.pods]perljp.pod
+pod21 = [.lib.pods]perlko.pod [.lib.pods]perllexwarn.pod [.lib.pods]perllinux.pod [.lib.pods]perllocale.pod [.lib.pods]perllol.pod [.lib.pods]perlmacos.pod
 pod22 = [.lib.pods]perlmacosx.pod [.lib.pods]perlmod.pod [.lib.pods]perlmodinstall.pod [.lib.pods]perlmodlib.pod [.lib.pods]perlmodstyle.pod
 pod23 = [.lib.pods]perlmpeix.pod [.lib.pods]perlmroapi.pod [.lib.pods]perlnetware.pod [.lib.pods]perlnewmod.pod [.lib.pods]perlnumber.pod
 pod24 = [.lib.pods]perlobj.pod [.lib.pods]perlop.pod [.lib.pods]perlopenbsd.pod [.lib.pods]perlopentut.pod [.lib.pods]perlos2.pod [.lib.pods]perlos390.pod
@@ -1029,6 +1029,10 @@ makeppport : $(MINIPERL_EXE) $(ARCHDIR)Config.pm nonxsext
        @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
        Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
 
+[.lib.pods]perlexperiment.pod : [.pod]perlexperiment.pod
+       @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
+       Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
+
 [.lib.pods]perlfilter.pod : [.pod]perlfilter.pod
        @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
        Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
index ad2f686..5cc6573 100644 (file)
@@ -92,6 +92,7 @@ POD = perl.pod        \
        perldtrace.pod  \
        perlebcdic.pod  \
        perlembed.pod   \
+       perlexperiment.pod      \
        perlfilter.pod  \
        perlfork.pod    \
        perlform.pod    \
@@ -239,6 +240,7 @@ MAN = perl.man      \
        perldtrace.man  \
        perlebcdic.man  \
        perlembed.man   \
+       perlexperiment.man      \
        perlfilter.man  \
        perlfork.man    \
        perlform.man    \
@@ -386,6 +388,7 @@ HTML = perl.html    \
        perldtrace.html \
        perlebcdic.html \
        perlembed.html  \
+       perlexperiment.html     \
        perlfilter.html \
        perlfork.html   \
        perlform.html   \
@@ -533,6 +536,7 @@ TEX = perl.tex      \
        perldtrace.tex  \
        perlebcdic.tex  \
        perlembed.tex   \
+       perlexperiment.tex      \
        perlfilter.tex  \
        perlfork.tex    \
        perlform.tex    \