42e73e1c |
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 |