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

SEE ALSO

402       For a complete list of features check feature.
403

AUTHORS

405       brian d foy "<brian.d.foy@gmail.com>"
406
407       Sebastien Aperghis-Tramoni "<saper@cpan.org>"
408
410       Copyright 2010, brian d foy "<brian.d.foy@gmail.com>"
411

LICENSE

413       You can use and redistribute this document under the same terms as Perl
414       itself.
415
416
417
418perl v5.36.0                      2022-08-30                 PERLEXPERIMENT(1)
Impressum