1PERLEXPERIMENT(1)      Perl Programmers Reference Guide      PERLEXPERIMENT(1)
2
3
4

NAME

6       perlexperiment - A listing of experimental features in Perl
7

DESCRIPTION

9       This document lists the current and past experimental features in the
10       perl core. Although all of these are documented with their appropriate
11       topics, this succinct listing gives you an overview and basic facts
12       about their status.
13
14       So far we've merely tried to find and list the experimental features
15       and infer their inception, versions, etc. There's a lot of speculation
16       here.
17
18   Current experiments
19       Smart match ("~~")
20               Introduced in Perl 5.10.0
21
22               Modified in Perl 5.10.1, 5.12.0
23
24               Deprecated in 5.38.0
25
26               Will be removed in 5.42.0
27
28               Using this feature triggers warnings in the category
29               "deprecated".
30
31               The ticket for this experiment is [perl #13173]
32               <https://github.com/Perl/perl5/issues/13173>.
33
34       Pluggable keywords
35               Introduced in Perl 5.11.2
36
37               See "PL_keyword_plugin" in perlapi for the mechanism.
38
39               The ticket for this experiment is [perl #13199]
40               <https://github.com/Perl/perl5/issues/13199>.
41
42       Aliasing via reference
43               Introduced in Perl 5.22.0
44
45               Using this feature triggers warnings in the category
46               "experimental::refaliasing".
47
48               The ticket for this experiment is [perl #14150]
49               <https://github.com/Perl/perl5/issues/14150>.
50
51               See also: "Assigning to References" in perlref
52
53       The "const" attribute
54               Introduced in Perl 5.22.0
55
56               Using this feature triggers warnings in the category
57               "experimental::const_attr".
58
59               The ticket for this experiment is [perl #14428]
60               <https://github.com/Perl/perl5/issues/14428>.
61
62               See also: "Constant Functions" in perlsub
63
64       use re 'strict';
65               Introduced in Perl 5.22.0
66
67               Using this feature triggers warnings in the category
68               "experimental::re_strict".
69
70               The ticket for this experiment is [perl #18755]
71               <https://github.com/Perl/perl5/issues/18755>
72
73               See "'strict' mode" in re
74
75       Declaring a reference to a variable
76               Introduced in Perl 5.26.0
77
78               Using this feature triggers warnings in the category
79               "experimental::declared_refs".
80
81               The ticket for this experiment is [perl #15458]
82               <https://github.com/Perl/perl5/issues/15458>.
83
84               See also: "Declaring a Reference to a Variable" in perlref
85
86       There is an "installhtml" target in the Makefile.
87               The ticket for this experiment is [perl #12726]
88               <https://github.com/Perl/perl5/issues/12726>.
89
90       (Limited) Variable-length look-behind
91               Introduced in Perl 5.30.0.
92
93               Variability of up to 255 characters is handled.
94
95               Using this feature triggers warnings in the category
96               "experimental::vlb".
97
98               The ticket for this experiment is [perl #18756]
99               <https://github.com/Perl/perl5/issues/18756>.
100
101               See also: "(*positive_lookbehind:pattern)" in perlre and
102               "(*negative_lookbehind:pattern)" in perlre
103
104       Unicode private use character hooks
105               Introduced in Perl 5.30.0.
106
107               This feature is part of an interface intended for internal and
108               experimental use by the perl5 developers.  You are unlikely to
109               encounter it in the wild.
110
111               Using this feature triggers warnings in the category
112               "experimental::private_use".
113
114               The ticket for this experiment is [perl #18758]
115               <https://github.com/Perl/perl5/issues/18758>.
116
117       Unicode property wildcards
118               Introduced in Perl 5.30.0.
119
120               This feature allows regular expression matching against Unicode
121               character properties to be expressed more concisely.
122
123               Using this feature triggers warnings in the category
124               "experimental::uniprop_wildcards".
125
126               The ticket for this experiment is [perl #18759]
127               <https://github.com/Perl/perl5/issues/18759>.
128
129       try/catch control structure
130               Introduced in Perl 5.34.0.
131
132               Using this feature triggers warnings in the category
133               "experimental::try".
134
135               The ticket for this experiment is [perl #18760]
136               <https://github.com/Perl/perl5/issues/18760>
137
138       Use of @_ within subroutine signatures
139               Introduced in Perl 5.36.0 as part of a reduction in the scope
140               of experimental subroutine signatures.
141
142               Using the default arguments array (@_) within a subroutine that
143               uses signatures will emit a warning in the category
144               "experimental::args_array_with_signatures". This includes @_
145               directly, elements of it such as $_[$index], or situations
146               where the default arguments array is accessed implicitly such
147               as "shift" or "pop" without arguments.
148
149       for loop with multiple iteration variables
150               Introduced in Perl 5.36.0.
151
152               Using this feature triggers warnings in the category
153               "experimental::for_list".
154
155               This feature enables a parenthesized list of iteration
156               variables for "for" rather than a single variable.
157
158               The ticket for this experiment is [perl #18744]
159               <https://github.com/Perl/perl5/issues/18744>.
160
161       The builtin namespace
162               Introduced in Perl 5.36.0.
163
164               Using this feature triggers warnings in the category
165               "experimental::builtin".
166
167               In Perl 5.36.0, a new namespace, "builtin", was created for new
168               core functions that will not be present in every namespace, but
169               will be available for importing.  The namespace itself is
170               considered an experiment.  Specific functions within it may
171               also be experimental.
172
173               The ticket for this experiment is [perl #19764]
174               <https://github.com/Perl/perl5/issues/19764>.
175
176       The defer block modifier
177               Introduced in Perl 5.36.0
178
179               Using this feature triggers warnings in the category
180               "experimental::defer".
181
182               This feature adds a new kind of block, a "defer" block, which
183               will not be executed until the containing block is being
184               exited.
185
186               The ticket for this experiment is [perl #17949]
187               <https://github.com/Perl/perl5/issues/17949>.
188
189       Extra paired delimiters for quote-like operators
190               Introduced in Perl 5.36.0
191
192               Using this feature triggers warnings in the category
193               "experimental::extra_paired_delimiters".
194
195               This feature allows for many non-ASCII pairs of mirroring
196               delimiters, for example:
197
198                   my @array = qw« tinker tailer soldier spy »;
199
200               The ticket for this experiment is [perl #19765]
201               <https://github.com/Perl/perl5/issues/19765>.
202
203   Accepted features
204       These features were so wildly successful and played so well with others
205       that we decided to remove their experimental status and admit them as
206       full, stable features in the world of Perl, lavishing all the benefits
207       and luxuries thereof.  They are also awarded +5 Stability and +3
208       Charisma.
209
210       64-bit support
211               Introduced in Perl 5.005
212
213       die accepts a reference
214               Introduced in Perl 5.005
215
216       DB module
217               Introduced in Perl 5.6.0
218
219               See also perldebug, perldebtut
220
221       Weak references
222               Introduced in Perl 5.6.0
223
224       Internal file glob
225               Introduced in Perl 5.6.0
226
227       fork() emulation
228               Introduced in Perl 5.6.1
229
230               See also perlfork
231
232       -Dusemultiplicity -Duseithreads
233               Introduced in Perl 5.6.0
234
235               Accepted in Perl 5.8.0
236
237       Support for long doubles
238               Introduced in Perl 5.6.0
239
240               Accepted in Perl 5.8.1
241
242       The "\N" regex character class
243               The "\N" character class, not to be confused with the named
244               character sequence "\N{NAME}", denotes any non-newline
245               character in a regular expression.
246
247               Introduced in Perl 5.12
248
249               Exact version of acceptance unclear, but no later than Perl
250               5.18.
251
252       "(?{code})" and "(??{ code })"
253               Introduced in Perl 5.6.0
254
255               Accepted in Perl 5.20.0
256
257               See also perlre
258
259       Linux abstract Unix domain sockets
260               Introduced in Perl 5.9.2
261
262               Accepted before Perl 5.20.0.  The Socket library is now
263               primarily maintained on CPAN, rather than in the perl core.
264
265               See also Socket
266
267       Lvalue subroutines
268               Introduced in Perl 5.6.0
269
270               Accepted in Perl 5.20.0
271
272               See also perlsub
273
274       Backtracking control verbs
275               "(*ACCEPT)"
276
277               Introduced in Perl 5.10
278
279               Accepted in Perl 5.20.0
280
281       The ":pop" IO pseudolayer
282               See also "PERLIO" in perlrun
283
284               Accepted in Perl 5.20.0
285
286       "\s" in regexp matches vertical tab
287               Accepted in Perl 5.22.0
288
289       Postfix dereference syntax
290               Introduced in Perl 5.20.0
291
292               Accepted in Perl 5.24.0
293
294       Lexical subroutines
295               Introduced in Perl 5.18.0
296
297               Accepted in Perl 5.26.0
298
299       String- and number-specific bitwise operators
300               Introduced in Perl 5.22.0
301
302               Accepted in Perl 5.28.0
303
304       Alphabetic assertions
305               Introduced in Perl 5.28.0
306
307               Accepted in Perl 5.32.0
308
309       Script runs
310               Introduced in Perl 5.28.0
311
312               Accepted in Perl 5.32.0
313
314       The infix "isa" operator
315               Introduced in Perl 5.32.0
316
317               Accepted in Perl 5.36.0
318
319       Subroutine signatures
320               Introduced in Perl 5.20.0
321
322               Accepted in Perl 5.36.0
323
324       Regular Expression Set Operations
325               Introduced in Perl 5.18
326
327               Accepted in Perl 5.36
328
329               See : "Extended Bracketed Character Classes" in perlrecharclass
330
331   Removed features
332       These features are no longer considered experimental and their
333       functionality has disappeared. It's your own fault if you wrote
334       production programs using these features after we explicitly told you
335       not to (see perlpolicy).
336
337       5.005-style threading
338               Introduced in Perl 5.005
339
340               Removed in Perl 5.10
341
342       perlcc  Introduced in Perl 5.005
343
344               Moved from Perl 5.9.0 to CPAN
345
346       The pseudo-hash data type
347               Introduced in Perl 5.6.0
348
349               Removed in Perl 5.9.0
350
351       GetOpt::Long Options can now take multiple values at once
352       (experimental)
353               "Getopt::Long" upgraded to version 2.35
354
355               Removed in Perl 5.8.8
356
357       Assertions
358               The "-A" command line switch
359
360               Introduced in Perl 5.9.0
361
362               Removed in Perl 5.9.5
363
364       Test::Harness::Straps
365               Moved from Perl 5.10.1 to CPAN
366
367       "legacy"
368               The experimental "legacy" pragma was swallowed by the "feature"
369               pragma.
370
371               Introduced in Perl 5.11.2
372
373               Removed in Perl 5.11.3
374
375       Lexical $_
376               Using this feature triggered warnings in the category
377               "experimental::lexical_topic".
378
379               Introduced in Perl 5.10.0
380
381               Removed in Perl 5.24.0
382
383       Array and hash container functions accept references
384               Using this feature triggered warnings in the category
385               "experimental::autoderef".
386
387               Superseded by "Postfix dereference syntax".
388
389               Introduced in Perl 5.14.0
390
391               Removed in Perl 5.24.0
392
393       "our" can have an experimental optional attribute "unique"
394               Introduced in Perl 5.8.0
395
396               Deprecated in Perl 5.10.0
397
398               Removed in Perl 5.28.0
399
400       The ":win32" IO pseudolayer
401               Introduced in Perl 5.8.0 (or before)
402
403               Removed in Perl 5.36.0
404

SEE ALSO

406       For a complete list of features check feature.
407

AUTHORS

409       brian d foy "<brian.d.foy@gmail.com>"
410
411       Sébastien Aperghis-Tramoni "<saper@cpan.org>"
412
414       Copyright 2010, brian d foy "<brian.d.foy@gmail.com>"
415

LICENSE

417       You can use and redistribute this document under the same terms as Perl
418       itself.
419
420
421
422perl v5.38.2                      2023-11-30                 PERLEXPERIMENT(1)
Impressum