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