From 42e73e1c35daee07d5d9e32d6a695b7ac179ac6d Mon Sep 17 00:00:00 2001 From: brian d foy Date: Mon, 25 Oct 2010 00:10:06 -0500 Subject: [PATCH] Add perlexperiment to detail experimental features nearly all this work merged from brian d foy's briandfoy/perlexperiment branch, tidied up and squished by rjbs --- MANIFEST | 1 + pod.lst | 2 + pod/perl.pod | 2 + pod/perlexperiment.pod | 311 +++++++++++++++++++++++++++++++++++++++++++++++ vms/descrip_mms.template | 16 ++- win32/pod.mak | 4 + 6 files changed, 330 insertions(+), 6 deletions(-) create mode 100644 pod/perlexperiment.pod diff --git a/MANIFEST b/MANIFEST index e304e9e..6fbbc3e 100644 --- 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 --- 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 diff --git a/pod/perl.pod b/pod/perl.pod index b6fa987..84a04c5 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -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 index 0000000..f9e54e4 --- /dev/null +++ b/pod/perlexperiment.pod @@ -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 + +=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 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 + +=item C can now have an experimental optional attribute C + +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 + +=item L + +=item L + +=item threads + +=item The <:pop> IO psuedolayer + +See also L + +=item The <:win32> IO psuedolayer + +See also L + +=item fields pragma + +Introduced in Perl 5.6.0 + +Removed in XXX + +=item MLDBM + +See also L + +=item internal functions with M flag + +See also L + +=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 in L. + +=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-Ebufend + +=item PL_parser-Ebufptr + +=item PL_parser-Elinestart + +=item PL_parser-Elinestr + +=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, L + +=item The pseudo-hash data type + +Introduced in Perl 5.6.0 + +=item Lvalue subroutines + +Introduced in Perl 5.6.0 + +See also L + +=item There is an C target in the Makefile. + +=item Unicode in Perl on EBCDIC + +=item C<(?{code})> + +See also L + +=item C<(??{ code })> + +See also L + +=item Backtracking control verbs + +C<(*ACCEPT)> + +Introduced in: Perl 5.10 + +See also: L + +=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 + +=item Experimental Support for Sun Studio Compilers for Linux OS + +See also L + +=item Pluggable keywords + +See L 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). + +=over 8 + +=item C + +The experimental C pragma was swallowed by the C pragma. + +Introduced in: 5.11.2 + +Removed in: 5.11.3 + +=back + +=head1 AUTHORS + +brian d foy C<< >> + +=head1 COPYRIGHT + +Copyright 2010, brian d foy C<< >> + +=head1 LICENSE + +You can use and redistribute this document under the same terms as Perl +itself. + +=cut diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index bc5ea14..a3706f6 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -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] diff --git a/win32/pod.mak b/win32/pod.mak index ad2f686..5cc6573 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -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 \ -- 1.8.3.1