This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add perlexperiment to detail experimental features
[perl5.git] / pod / perlexperiment.pod
CommitLineData
42e73e1c 1=head1 NAME
2
3perlexperiment - A listing of experimental features in Perl
4
5=head1 DESCRIPTION
6
7This document lists the current and past experimental features in the perl
8core. Although each of these are documented with their appropriate topics,
9this succinct listing gives you an overview and basic facts about their
10status.
11
12So far I've merely tried to find and list the experimental features and infer
13their inception, etc versions. There's a lot of speculation here.
14
15=head2 Current experiments
16
17=over 8
18
19=item fork() emulation
20
21Introduced in Perl 5.6.1
22
23See also L<perlfork>
24
25=item Weak references
26
27Introduced in Perl 5.6.0
28
29=item Internal file glob
30
31Introduced in Perl 5.6.0
32
33Accepted in XXX
34
35=item 64-bit support
36
37Introduced in Perl 5.005
38
39Accepted in XXX
40
41=item die accepts a reference
42
43Introduced in Perl 5.005
44
45Accecpted in Perl XXX
46
47=item Unicode support
48
49Introduced in Perl 5.6.0
50
51Accepted in Perl 5.8.0 XXX
52
53=item -Dusemultiplicity -Dusethreads
54
55Introduced in Perl 5.6.0
56
57=item Long Doubles Still Don't Work In Solaris
58
59Introduced in Perl 5.7.0
60
61=item GetOpt::Long Options can now take multiple values at once (experimental)
62
63C<Getopt::Long> upgraded to version 2.35
64
65Removed in Perl 5.8.8
66
67=item 5.005-style threading
68
69Introduced in Perl 5.005
70
71Removed in Perl 5.10 XXX
72
73=item Test::Harness::Straps
74
75Removed in Perl 5.10.1
76
77=item perlcc
78
79Introduced in Perl 5.005
80
81Removed in Perl 5.9.0
82
83See also L<perlcompile>
84
85=item C<our> can now have an experimental optional attribute C<unique>
86
87Introduced in Perl 5.8.0
88
89=item Assertions
90
91The C<-A> command line switch
92
93Introduced in Perl 5.9.0
94
95Removed in Perl 5.9.5
96
97=item Linux abstract Unix domain sockets
98
99Introduced in Perl 5.9.2
100
101See also L<Socket>
102
103=item L<Pod::HTML2Pod|Pod::HTML2Pod>
104
105=item L<Pod::PXML|Pod::PXML>
106
107=item threads
108
109=item The <:pop> IO psuedolayer
110
111See also L<perlrun>
112
113=item The <:win32> IO psuedolayer
114
115See also L<perlrun>
116
117=item fields pragma
118
119Introduced in Perl 5.6.0
120
121Removed in XXX
122
123=item MLDBM
124
125See also L<perldsc>
126
127=item internal functions with M flag
128
129See also L<perlguts>
130
131=item lex_start API
132
133Introduced in Perl 5.13.7
134
135=item internal API for C<%H>
136
137Introduced in Perl 5.13.7
138
139See also C<cophh_> in L<perlapi>.
140
141=item av_create_and_push
142
143=item av_create_and_unshift_one
144
145=item av_create_and_unshift_one
146
147=item PL_keyword_plugin
148
149=item hv_iternext_flags
150
151=item lex_bufutf8
152
153=item lex_discard_to
154
155=item lex_grow_linestr
156
157=item lex_next_chunk
158
159=item lex_peek_unichar
160
161=item lex_read_space
162
163=item lex_read_to
164
165=item lex_read_unichar
166
167=item lex_stuff_pv
168
169=item lex_stuff_pvn
170
171=item lex_stuff_pvs
172
173=item lex_stuff_sv
174
175=item lex_unstuff
176
177=item parse_fullstmt
178
179=item parse_stmtseq
180
181=item PL_parser-E<gt>bufend
182
183=item PL_parser-E<gt>bufptr
184
185=item PL_parser-E<gt>linestart
186
187=item PL_parser-E<gt>linestr
188
189=item Perl_signbit
190
191=item pad_findmy
192
193=item sv_utf8_decode
194
195=item sv_utf8_downgrade
196
197=item bytes_from_utf8
198
199=item bytes_to_utf8
200
201=item utf8_to_bytes
202
203=item DB module
204
205Introduced in Perl 5.6.0
206
207See also L<perldebug>, L<perldebtut>
208
209=item The pseudo-hash data type
210
211Introduced in Perl 5.6.0
212
213=item Lvalue subroutines
214
215Introduced in Perl 5.6.0
216
217See also L<perlsub>
218
219=item There is an C<installhtml> target in the Makefile.
220
221=item Unicode in Perl on EBCDIC
222
223=item C<(?{code})>
224
225See also L<perlre>
226
227=item C<(??{ code })>
228
229See also L<perlre>
230
231=item Backtracking control verbs
232
233C<(*ACCEPT)>
234
235Introduced in: Perl 5.10
236
237See also: L<perlre/"Special Backtracking Control Verbs">
238
239=item Code expressions, conditional expressions, and independent expressions in regexes
240
241=item The C<\N> regex character class
242
243The C<\N> character class, not to be confused with the named character
244sequence C<\N{NAME}>, denotes any non-newline character in a regular
245expression.
246
247Introduced in: Perl 5.12
248
249See also:
250
251=item gv_try_downgrade
252
253See also L<perlintern>
254
255=item Experimental Support for Sun Studio Compilers for Linux OS
256
257See also L<perllinux>
258
259=item Pluggable keywords
260
261See L<perlapi/PL_keyword_plugin> for the mechanism.
262
263Introduced in: Perl 5.11.2
264
265=back
266
267=head2 Accepted features
268
269These features were so wildly successful and played so well with others that
270we decided to remove their experimental status and admit them as full, stable
271features in the world of Perl, lavishing all the benefits and luxuries thereof.
272They are also awarded +5 Stability and +3 Charisma.
273
274=over 8
275
276=item (none yet identified)
277
278=back
279
280=head2 Removed features
281
282These features are no longer considered experimental and their functionality
283has disappeared. It's your own fault if you wrote production programs using
284these features after we explicitly told you not to (see L<perlpolicy>).
285
286=over 8
287
288=item C<legacy>
289
290The experimental C<legacy> pragma was swallowed by the C<feature> pragma.
291
292Introduced in: 5.11.2
293
294Removed in: 5.11.3
295
296=back
297
298=head1 AUTHORS
299
300brian d foy C<< <brian.d.foy@gmail.com> >>
301
302=head1 COPYRIGHT
303
304Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >>
305
306=head1 LICENSE
307
308You can use and redistribute this document under the same terms as Perl
309itself.
310
311=cut