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