Add perlexperiment to detail experimental features
[perl.git] / pod / perlexperiment.pod
1 =head1 NAME
2
3 perlexperiment - A listing of experimental features in Perl
4
5 =head1 DESCRIPTION
6
7 This document lists the current and past experimental features in the perl
8 core. Although each of these are documented with their appropriate topics,
9 this succinct listing gives you an overview and basic facts about their
10 status.
11
12 So far I've merely tried to find and list the experimental features and infer
13 their 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
21 Introduced in Perl 5.6.1
22
23 See also L<perlfork>
24
25 =item Weak references
26
27 Introduced in Perl 5.6.0
28
29 =item Internal file glob
30
31 Introduced in Perl 5.6.0
32
33 Accepted in XXX
34
35 =item 64-bit support
36
37 Introduced in Perl 5.005
38
39 Accepted in XXX
40
41 =item die accepts a reference
42
43 Introduced in Perl 5.005
44
45 Accecpted in Perl XXX
46
47 =item Unicode support
48
49 Introduced in Perl 5.6.0
50
51 Accepted in Perl 5.8.0 XXX
52
53 =item -Dusemultiplicity -Dusethreads
54
55 Introduced in Perl 5.6.0
56
57 =item Long Doubles Still Don't Work In Solaris
58
59 Introduced in Perl 5.7.0
60
61 =item GetOpt::Long Options can now take multiple values at once (experimental)
62
63 C<Getopt::Long> upgraded to version 2.35
64
65 Removed in Perl 5.8.8
66
67 =item 5.005-style threading
68
69 Introduced in Perl 5.005
70
71 Removed in Perl 5.10 XXX
72
73 =item Test::Harness::Straps
74
75 Removed in Perl 5.10.1
76
77 =item perlcc
78
79 Introduced in Perl 5.005
80
81 Removed in Perl 5.9.0
82
83 See also L<perlcompile>
84
85 =item C<our> can now have an experimental optional attribute C<unique>
86
87 Introduced in Perl 5.8.0
88
89 =item Assertions
90
91 The C<-A> command line switch
92
93 Introduced in Perl 5.9.0
94
95 Removed in Perl 5.9.5
96
97 =item Linux abstract Unix domain sockets
98
99 Introduced in Perl 5.9.2
100
101 See 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
111 See also L<perlrun>
112
113 =item The <:win32> IO psuedolayer
114
115 See also L<perlrun>
116
117 =item fields pragma
118
119 Introduced in Perl 5.6.0
120
121 Removed in XXX
122
123 =item MLDBM
124
125 See also L<perldsc>
126
127 =item internal functions with M flag
128
129 See also L<perlguts>
130
131 =item lex_start API
132
133 Introduced in Perl 5.13.7
134
135 =item internal API for C<%H>
136
137 Introduced in Perl 5.13.7
138
139 See 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
205 Introduced in Perl 5.6.0
206
207 See also L<perldebug>, L<perldebtut>
208
209 =item The pseudo-hash data type
210
211 Introduced in Perl 5.6.0
212
213 =item Lvalue subroutines
214
215 Introduced in Perl 5.6.0
216
217 See 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
225 See also L<perlre>
226
227 =item C<(??{ code })>
228
229 See also L<perlre>
230
231 =item Backtracking control verbs
232
233 C<(*ACCEPT)>
234
235 Introduced in: Perl 5.10
236
237 See 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
243 The C<\N> character class, not to be confused with the named character
244 sequence C<\N{NAME}>, denotes any non-newline character in a regular
245 expression.
246
247 Introduced in: Perl 5.12
248
249 See also: 
250
251 =item gv_try_downgrade
252
253 See also L<perlintern>
254
255 =item Experimental Support for Sun Studio Compilers for Linux OS
256
257 See also L<perllinux>
258
259 =item Pluggable keywords
260
261 See L<perlapi/PL_keyword_plugin> for the mechanism.
262
263 Introduced in: Perl 5.11.2
264
265 =back
266
267 =head2 Accepted features
268
269 These features were so wildly successful and played so well with others that
270 we decided to remove their experimental status and admit them as full, stable
271 features in the world of Perl, lavishing all the benefits and luxuries thereof. 
272 They 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
282 These features are no longer considered experimental and their functionality
283 has disappeared. It's your own fault if you wrote production programs using
284 these features after we explicitly told you not to (see L<perlpolicy>).
285
286 =over 8
287
288 =item C<legacy>
289
290 The experimental C<legacy> pragma was swallowed by the C<feature> pragma.
291
292 Introduced in: 5.11.2
293
294 Removed in: 5.11.3
295
296 =back
297
298 =head1 AUTHORS
299
300 brian d foy C<< <brian.d.foy@gmail.com> >>
301
302 =head1 COPYRIGHT
303
304 Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >>
305
306 =head1 LICENSE
307
308 You can use and redistribute this document under the same terms as Perl
309 itself.
310
311 =cut