This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update IO-Compress to CPAN version 2.040
[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
12So far I'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
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
706c19b7 45Accepted in Perl XXX
42e73e1c 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
42e73e1c 83=item C<our> can now have an experimental optional attribute C<unique>
84
85Introduced in Perl 5.8.0
86
d1558b3e
FC
87Deprecated in Perl 5.10.0
88
42e73e1c 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
706c19b7 109=item The <:pop> IO pseudolayer
42e73e1c 110
111See also L<perlrun>
112
706c19b7 113=item The <:win32> IO pseudolayer
42e73e1c 114
115See also L<perlrun>
116
42e73e1c 117=item MLDBM
118
119See also L<perldsc>
120
121=item internal functions with M flag
122
123See also L<perlguts>
124
125=item lex_start API
126
127Introduced in Perl 5.13.7
128
129=item internal API for C<%H>
130
131Introduced in Perl 5.13.7
132
133See also C<cophh_> in L<perlapi>.
134
135=item av_create_and_push
136
137=item av_create_and_unshift_one
138
139=item av_create_and_unshift_one
140
141=item PL_keyword_plugin
142
143=item hv_iternext_flags
144
145=item lex_bufutf8
146
147=item lex_discard_to
148
149=item lex_grow_linestr
150
151=item lex_next_chunk
152
153=item lex_peek_unichar
154
155=item lex_read_space
156
157=item lex_read_to
158
159=item lex_read_unichar
160
161=item lex_stuff_pv
162
163=item lex_stuff_pvn
164
165=item lex_stuff_pvs
166
167=item lex_stuff_sv
168
169=item lex_unstuff
170
171=item parse_fullstmt
172
173=item parse_stmtseq
174
175=item PL_parser-E<gt>bufend
176
177=item PL_parser-E<gt>bufptr
178
179=item PL_parser-E<gt>linestart
180
181=item PL_parser-E<gt>linestr
182
183=item Perl_signbit
184
185=item pad_findmy
186
187=item sv_utf8_decode
188
189=item sv_utf8_downgrade
190
191=item bytes_from_utf8
192
193=item bytes_to_utf8
194
195=item utf8_to_bytes
196
197=item DB module
198
199Introduced in Perl 5.6.0
200
201See also L<perldebug>, L<perldebtut>
202
203=item The pseudo-hash data type
204
205Introduced in Perl 5.6.0
206
207=item Lvalue subroutines
208
209Introduced in Perl 5.6.0
210
211See also L<perlsub>
212
213=item There is an C<installhtml> target in the Makefile.
214
215=item Unicode in Perl on EBCDIC
216
217=item C<(?{code})>
218
219See also L<perlre>
220
221=item C<(??{ code })>
222
223See also L<perlre>
224
225=item Backtracking control verbs
226
227C<(*ACCEPT)>
228
229Introduced in: Perl 5.10
230
231See also: L<perlre/"Special Backtracking Control Verbs">
232
233=item Code expressions, conditional expressions, and independent expressions in regexes
234
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
242
243See also:
244
245=item gv_try_downgrade
246
247See also L<perlintern>
248
249=item Experimental Support for Sun Studio Compilers for Linux OS
250
251See also L<perllinux>
252
253=item Pluggable keywords
254
255See L<perlapi/PL_keyword_plugin> for the mechanism.
256
257Introduced in: Perl 5.11.2
258
259=back
260
261=head2 Accepted features
262
263These features were so wildly successful and played so well with others that
264we decided to remove their experimental status and admit them as full, stable
265features in the world of Perl, lavishing all the benefits and luxuries thereof.
266They are also awarded +5 Stability and +3 Charisma.
267
268=over 8
269
270=item (none yet identified)
271
272=back
273
274=head2 Removed features
275
276These features are no longer considered experimental and their functionality
277has disappeared. It's your own fault if you wrote production programs using
278these features after we explicitly told you not to (see L<perlpolicy>).
279
280=over 8
281
282=item C<legacy>
283
284The experimental C<legacy> pragma was swallowed by the C<feature> pragma.
285
286Introduced in: 5.11.2
287
288Removed in: 5.11.3
289
290=back
291
292=head1 AUTHORS
293
294brian d foy C<< <brian.d.foy@gmail.com> >>
295
296=head1 COPYRIGHT
297
298Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >>
299
300=head1 LICENSE
301
302You can use and redistribute this document under the same terms as Perl
303itself.
304
305=cut