summaryrefslogtreecommitdiff
path: root/pod/perlexperiment.pod
blob: 10f2ee4741913b0a5e47b6a263bc6ab90cca7c84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
=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.

=head2 Current experiments

=over 8

=item The C<(?{code})>

=item Backtracking control verbs

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 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

=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<pod/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

=begin authors

Here's a grep of the docs. Turn these into entries in the main text.

perl5005delta.pod:When none of the experimental features are enabled, there should be
perl5005delta.pod:WARNING: Threading is considered an B<experimental> feature.  Details of the
perl5005delta.pod:WARNING: The Compiler and related tools are considered B<experimental>.
perl5005delta.pod:C<B::Lint> is an experimental module to detect and warn about suspicious
perl5005delta.pod:However, one experimental implementation of reliable signals is available
perl5005delta.pod:Starting with 5.005, the beginnings of experimental support for systems
perl5005delta.pod:exception objects.  This is an undocumented B<experimental> feature.
perl5005delta.pod:C<perlcc>, a new experimental front end for the compiler is available.
perl5100delta.pod:experimental tools have never worked reliably, and, due to the lack of
perl5101delta.pod:As part of the C<Test::Harness> 2.x to 3.x upgrade, the experimental
perl5101delta.pod:experimental C<Test::Harness::Straps> module (and its supporting

perl5120delta.pod:Perl's developers consider this feature to be experimental. We may remove
perl5120delta.pod:experimental, and only cover a small proportion of what would be
perl5120delta.pod:Perl's developers consider this feature to be experimental. We may remove
perl5120delta.pod:Unicode name. Consequently, this feature is experimental. We may remove
perl5120delta.pod:As part of the C<Test::Harness> 2.x to 3.x upgrade, the experimental
perl5120delta.pod:experimental regex escape>), names that look like curly brace -enclosed
perl5136delta.pod:These block are still experimental, however, and still have problems with
perl561delta.pod:but continues to be highly experimental.  It is not expected to be
perl561delta.pod:If you are experimenting with Unicode support in perl, the development
perl561delta.pod:experimental.  The level of support varies greatly among platforms.
perl561delta.pod:improvements, but they continue to remain highly experimental.  Use in
perl561delta.pod:However, the feature still remains experimental.
perl561delta.pod:to be experimental.  See L<perlfork> for known bugs and caveats.
perl561delta.pod:    NOTE: This is an experimental feature.  Implementation details are
perl561delta.pod:    NOTE: This should be considered an experimental feature.  Implementation
perl561delta.pod:    NOTE: This is currently an experimental feature.  Interfaces and
perl561delta.pod:    NOTE: This is an experimental feature.  Details are subject to change.  
perl561delta.pod:    NOTE: This is an experimental feature.  Details are subject to change.
perl561delta.pod:    NOTE: The pseudo-hash data type continues to be experimental.
perl561delta.pod:    NOTE: The Compiler suite remains highly experimental.  The
perl561delta.pod:C<DB> is an experimental module that exposes a clean abstraction
perl561delta.pod:The -Dusethreads flag now enables the experimental interpreter-based thread
perl561delta.pod:support by default.  To get the flavor of experimental threads that was in
perl561delta.pod:    NOTE: Support for threads continues to be an experimental feature.
perl561delta.pod:tests.  (Note that support for 5.005-style threading remains experimental.)
perl561delta.pod:As discussed above, many features are still experimental.  Interfaces and
perl56delta.pod:    NOTE: This is an experimental feature.  Implementation details are
perl56delta.pod:    NOTE: This should be considered an experimental feature.  Implementation
perl56delta.pod:    NOTE: 64-bit support is still experimental on most platforms.
perl56delta.pod:    NOTE: This is currently an experimental feature.  Interfaces and
perl56delta.pod:    NOTE: This is an experimental feature.  Details are subject to change.  
perl56delta.pod:    NOTE: This is an experimental feature.  Details are subject to change.
perl56delta.pod:    NOTE: The pseudo-hash data type continues to be experimental.
perl56delta.pod:    NOTE: The Compiler suite remains highly experimental.  The
perl56delta.pod:C<DB> is an experimental module that exposes a clean abstraction
perl56delta.pod:The -Dusethreads flag now enables the experimental interpreter-based thread
perl56delta.pod:support by default.  To get the flavor of experimental threads that was in
perl56delta.pod:    NOTE: Support for threads continues to be an experimental feature.
perl56delta.pod:As discussed above, many features are still experimental.  Interfaces and
perl570delta.pod:The experimental long double support is still very much so in Solaris.
perl570delta.pod:Multithreading is still an experimental feature.  Some platforms
perl570delta.pod:    # is still an experimental feature.  It is here to stop people
perl571delta.pod:experimental.)
perl572delta.pod:B<Note that support for 5.005-style threading remains experimental.>
perl572delta.pod:experimental.  The implementations of long doubles are not yet
perl581delta.pod:to be experimental.)
perl584delta.pod:There is experimental support for Linux abstract Unix domain sockets.
perl588delta.pod:Options can now take multiple values at once (experimental)
perl58delta.pod:the lvalue subroutine feature still remains experimental.  [561+]
perl58delta.pod:C<our> can now have an experimental optional attribute C<unique> that
perl58delta.pod:B<Note that perlcc is still considered very experimental and
perl58delta.pod:highly experimental.  Use in production environments is discouraged.
perl58delta.pod:experimental and practically unsupported.  In 5.10, it is expected
perl590delta.pod:Perl 5.9.0 has experimental support for assertions.  Note that the user
perl590delta.pod:to be experimental.)
perl592delta.pod:There is experimental support for Linux abstract Unix domain sockets.
perl595delta.pod:experimental tools have never worked reliably, and, due to the lack of

perlapi.pod:NOTE: this function is experimental and may change or be


perlcompile.pod:experimental and incomplete back ends are described last.
perlcygwin.pod:these are experimental.  You can either select an option when Configure
perldebtut.pod:Useful, huh?  You can eval nearly anything in there, and experiment with bits
perldebtut.pod:place to go), and of course, experiment.  
perldebug.pod:nice environment to learn Perl, but if you interactively experiment using
perldebug.pod:Debug a given program using threads (experimental).
perldelta.pod:C<lex_start> has been added to the API, but is considered experimental.
perldelta.pod:A new, experimental API has been added for accessing the internal
perldsc.pod:with how references are to be represented on disk.  One experimental
perlfaq1.pod:and an experimental version. The maintenance versions are stable, and
perlfaq1.pod:minor release). The experimental versions may include features that
perlfaq1.pod:them without an intermediate compilation step, allowing you to experiment
perlfaq1.pod:and test/debug quickly and easily. This ease of experimentation flattens
perlfunc.pod:defined, but experimental "layers" may give extra LIST arguments
perlglossary.pod:generally, any experimental option that can be compiled into Perl,
perlguts.pod:The most recent development releases of Perl has been experimenting with
perlguts.pod:This function is part of the experimental development API, and may change
perlguts.pod:Custom operator support is a new experimental feature that allows you to
perlintern.pod:NOTE: this function is experimental and may change or be

perllinux.pod:these compiler experimental.
perlmacosx.pod:Support for 64-bit addressing is experimental: some aspects of Perl may be
perlos2.pod:Note that these problems should not discourage experimenting, since they
perlos390.pod:default.  If you would like to experiment with dynamic loading then
perlpod.pod:it to Pod with the experimental L<Pod::HTML2Pod|Pod::HTML2Pod> module,
perlpod.pod:(available in CPAN), and looking at the resulting code.  The experimental

perlre.pod:part of the core language for many years.  Others are experimental
perlre.pod:experimental, and may be changed without notice. Code executed that
perlre.pod:experimental, and may be changed without notice. Code executed that
perlre.pod:B<WARNING:> These patterns are experimental and subject to change or
perlre.pod:B<WARNING:> This feature is highly experimental. It is not recommended


perlrun.pod:An experimental pseudolayer that removes the topmost layer.
perlrun.pod:On Win32 platforms this I<experimental> layer uses native "handle" IO
perlrun.pod:compiler's numeric file descriptor routines. There is an experimental native
perlsolaris.pod:perl thread implementation is still experimental, however, so beware.
perlsub.pod:B<WARNING>: Lvalue subroutines are still experimental and the

perltoc.pod:experimental, deprecated, discouraged, removed

perltodo.pod:"experimental". It would be good to get this tested, make it work reliably, and
perltodo.pod:remove the "experimental" tag. This would include
perlunicode.pod:experimental.  On such platforms, references to UTF-8 encoding in this

=end authors

=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