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